Рассмотрим разновидность задачи по сериализации данных — мне нужно было сохранить 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 24, 2015 г.
Продолжая тему валидаторов, публикую код двух функций для проверки введенных пользователем кодов ОГРН или ОГРНИП.
Проверка кода ОГРН. Код содержит 13 знаков, последний из них используется для проверки "контрольной суммы".
[crayon-6a0192e10e00d169905248/] ...
Читать
Январь 26, 2021 г.
На замену realpath, который работает только с реально существующими файлами и папками UNIX, а также не работающий для ссылок, я написал функцию получения канонического пути.
В документации встречается функция eio_realpath, которая требует подключения ...
Читать
Сентябрь 15, 2017 г.
Чтобы измерить скорость работы кода нужны две вещи - "код" и секундомер. Программный код у вас есть, а секундомер, оформленный в виде класса - можете взять здесь.
Очень простой, основанный на функции microtime(), секундомер скрывает рутину по сохранению ...
Читать
Март 2, 2017 г.
Посмотрим как можно сформировать url относительно текущего местоположения файла в php.
К примеру, у в каталоге /site-script/ находится программа на PHP и подкаталог /site-script/img, где хранятся картинки.
Требуется построить относительный ...
Читать