Intereting Posts
Использование вектора инициализации в openssl_encrypt Доступ к нескольким иностранным полям в виртуальном поле? Синтаксическая ошибка в квадратных скобках Php Слово «Массив» печатается вместо значений строк PHP – Получить имя ключа для значения массива Twitter API получает все твиты любого пользователя Организация дат со временем и часовыми поясами. (Преобразование в точную метку времени.) Лучший способ сжать HTML, CSS и JS с mod_deflate и mod_gzip отключен Как решить ldap_start_tls () «Не удалось запустить TLS: Ошибка подключения» в PHP? изменение пароля в php / codeigniter Отслеживание информации из аудиопотока с помощью PHP Могу ли я / Как … вызвать защищенную функцию вне класса в PHP? восклицательный знак появляется в теле сообщения электронной почты, используя phpmailer Загрузка / изменение изображения PHP создает черное изображение Как удалить элементы с одним и тем же ключом префикса в memcached с помощью расширения PHP memcache?

Вставить CDATA в XML

Я сейчас очень спешу, и я прошу помочь мастерам REGEX! Я получаю XML-запрос через HTTP-запрос, и я просто не могу его разобрать, так как он содержит некоторые специальные символы, которые не обернуты в разделы CDATA.

Пример XML:

<root> <node>good node</node> <node>bad node containing &</node> <root> 

Пытаясь разобрать этот XML с помощью simplexml_load_string($xml) я получаю:

 Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 3: parser error : xmlParseEntityRef: no name in /..../file.php on line ## 

Предположим, что плохие узлы не будут содержать > или < , мне нужен REGEX, который будет обертывать текст в этих узлах в разделах CDATA. Я предполагаю, что будут какие-то поиски, я просто не могу сделать это быстро.

Спасибо!