DOMDocument кодировка при сохранении в HTML

PHP поддерживает работу с классом DOMDocument, но есть некоторые особенности, которые требуют внимания. Одна из них — это html кодирование символов, если вы не укажете в заголовке документа мета информацию о кодировке.

Рассмотрим пример:

В зависимости от того, в какой кодировке был ваш текст, получится разный результат. Вот пример, когда ваш текст был в win-1251:

А вот пример для исходного текста в UTF-8:

Видно, что кириллические символы представлены в виде 16ти-ричных HTML кодов.

Почему вывелась не исходная кириллица, а была произведена перекодировка? Произошло это от того, что программа не знает, какая кодировка должна быть у документа — она ведь не указана. Для функции saveHTML() её нужно указать в секции документа head, как meta-тэг:

Если указанная кодировка в meta совпадает с кодировкой текста, то вы получите на выходе:

Мало букафф? Читайте есчо !

Имя файла по handle в PHP

Июнь 15, 2016 г.

Всем привычна схема, при которой известно имя файла, и вы совершаете с ним какие то манипуляции. В PHP много функций, которые предоставляют именно такой функционал. Что делать, когда есть только file handle? Как получить имя открытого файла? ...

Читать

Формируем относительную ссылку

Март 2, 2017 г.

Посмотрим как можно сформировать url относительно текущего местоположения файла в php. К примеру, у в каталоге /site-script/ находится программа на PHP  и подкаталог /site-script/img, где хранятся картинки. Требуется построить относительный ...

Читать

Сериализация HTML строки из PHP в JS

Август 7, 2019 г.

Рассмотрим разновидность задачи по сериализации данных - мне нужно было сохранить HTML код в атрибуте контейнера, чтобы вставлять его по определенному событию в верстку. Можно было сразу вставить кусочки HTML кода в документ и далее манипулировать ...

Читать

Конструктор класса в PHP и его перегрузка

Январь 26, 2016 г.

В версии PHP 5 мы получили возможность использовать конструктор класса, специальную функцию, объявляемую в классе, которая служит для инициализации экземпляра объекта. К сожалению, конструкторы, как и остальные методы класса в PHP, не могут быть "перегружены". ...

Читать
 

Комментарии к «DOMDocument кодировка при сохранении в HTML»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: