Ошибка в файле XML

Имеется некоторый file.xml

В этом файле, имеется узел, например, title, который содержит следующий текст

<title>Дом & Печеньки</title>

Такой файл отдаст ошибку из за амперсанта (&) в нем. Как в момент открытия исправить нужный узел (title) обернув содержимое узла в CDATA ? XMLReader и simplexml не открывают файл ввиду ошибки.


Ответы (1 шт):

Автор решения: Алексей Шиманский

Чтобы именно заменить данные в файлы, надо загрузить его например через file_get_contents и потом преобразовать данные

$string = str_replace('&', '&amp;', $string);

Но в целом, чтобы проблем не возникало, наверное стОит записывать данные как сущности. Т.е. использовать htmlspecialchars перед записью в файл XML

→ Ссылка