пятница, 5 июня 2009 г.

SimpleXML, добавление CDATA

Так уж получилось что при помощи SimpleXML нельзя ни добавить, ни пересохранить поле типа CDATA. Как вариант можно конвертнуть объект в DOM-модель и уже оттуда обработать, но об этом уже достаточно много написано, не буду повторяться, а предложу более простой буть сохранения данных в виде HTML-кода. Вся проблема сохранения заключается всего лишь в знаках "меньше чем" и "больше чем". Ее очень легко обойти используя функцию htmlspecialchars() при сохранении и htmlspecialchars_decode() при получении данных. Скорость конечно не фонтан, но если требуется хранить небольшое описание с форматированием или что-то в этом духе - вполне сгодится.