Передаваемая переменная заменяется html-сущностями
Привет!
Нужна помощь, уже весь мозг сломал, пока докопался до причины. Не могу понять никак почему в полученной в сниппете сериализованной строке фигурные скобки преобразовываются в html-сущности.
Это var_dump полученной строки из базы данных или параметров сниппета.
На самом деле тут больше символов чем видно (42, а должно быть 32) и полученная строка выглядит так:
'a:2: {;i:0;s:2:«17»;i:1;s:2:«27»;};'
Это обычная строка, именно такой строкой должна выглядеть
полученная строка. Иначе unserialize() не срабатывает:
Как получить чистую строку? Или решать проблему через костыль, типа замены html-сущностей на теги?
Нужна помощь, уже весь мозг сломал, пока докопался до причины. Не могу понять никак почему в полученной в сниппете сериализованной строке фигурные скобки преобразовываются в html-сущности.
Это var_dump полученной строки из базы данных или параметров сниппета.
На самом деле тут больше символов чем видно (42, а должно быть 32) и полученная строка выглядит так:
'a:2: {;i:0;s:2:«17»;i:1;s:2:«27»;};'
string(42) "a:2:{i:0;s:2:"17";i:1;s:2:"27";}"
Это обычная строка, именно такой строкой должна выглядеть
полученная строка. Иначе unserialize() не срабатывает:
string(32) 'a:2:{i:0;s:2:"17";i:1;s:2:"27";}'
Если поместить строку в переменную, то она унсериализируется без проблем.Как получить чистую строку? Или решать проблему через костыль, типа замены html-сущностей на теги?
Поблагодарить автора
Отправить деньги
Комментарии: 1
Решил проблему костылём:
$input = str_replace('}','}',str_replace('{', '{', $input));
где в $input находится получаемый сериализованный массив.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.