Рассмотрим разновидность задачи по сериализации данных — мне нужно было сохранить HTML код в атрибуте контейнера, чтобы вставлять его по определенному событию в верстку.
Можно было сразу вставить кусочки HTML кода в документ и далее манипулировать видимостью контейнеров, но код содержал iframe-ы, и я не хотел чтобы содержимое загружалось вместе с основным документом.
Первая идея — это воспользоваться JSON преобразованием. Но функция json_encode лишь частично совместима с js методом JSON.parse, и на практике вы можете столкнуться с некоторыми проблемами.
Второй подход — это использование функции URL перекодировки, который у меня заработал отлично, им я поделюсь далее.
Со стороны PHP шаблона вы используете функцию urlencode:
|
|
<div class="my-container" data-htmlcode="<?php print urlencode($HTLMstring) ?>"> </div> |
Со стороны скрипта JS (+jQuery) используем следующее преобразование:
|
|
var code = jQuery('.my-container').data('htmlcode'); jQuery('.my-container') .html(decodeURIComponent(code.replace(/\+/g, ' '))); |
Т.е. кроме вызова функции decodeURIComponent нужно заменить символ + пробелами.
Данная запись опубликована в 07.08.2019 23:50 и размещена в рубрике PHP.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 10, 2015 г.
Серию валидаторов пополняю функцией проверки введенного email на соответствие формальным требованиям.
По стандарту RFC822
Если есть необходимость соблюсти все требования, которые упомянуты в громоздкой спецификации RFC822, то лучший путь - воспользоваться ...
Читать
Июнь 18, 2018 г.
Итак, как перевести ассоциативный массив в XML? Воспользуемся "родным" для PHP классом SimpleXMLElement.
В качестве основного контейнера используем тег <values/>, а установить UTF-8 кодировку нам поможет небольшая хитрость. Инициализация ...
Читать
Август 27, 2020 г.
Для логгирования иногда важно не только записать какое то сообщение, но также указать - где именно произошло событие в скрипте. Давайте посмотрим, как можно получить номер строки и имя файла в PHP.
Данная информация может быть предоставлена php ...
Читать
Январь 26, 2021 г.
На замену realpath, который работает только с реально существующими файлами и папками UNIX, а также не работающий для ссылок, я написал функцию получения канонического пути.
В документации встречается функция eio_realpath, которая требует подключения ...
Читать