синтаксический анализ xml специальных символов, таких как символ '&' в php - PullRequest
0 голосов
/ 18 мая 2011

У меня проблемы с анализом специальных символов из XML-файла (я не могу редактировать файл) со специальными символами, такими как символ '&' в php.

Вот пример фрагмента кода XML, который я пытаюсь заставить его работать и отображать в php.

<?xml version="1.0" encoding="ISO-8859-1"?> <node> <test>Don't & forget me this weekend!</test> </node>

Любая помощь высоко ценится:)

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

Чтобы использовать специальный символ &, введите код &amp;

Также посмотрите: http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

1 голос
/ 18 мая 2011

В этом одном угловом случае:

str_replace("&", "&amp;", $xml);

заставил бы его разобраться должным образом.К сожалению, если у вас больше или меньше знака «unescaped»:

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
  <test>Oh my < Goodness </test>
</node>

A str_replace не сработает.Теперь вы можете выполнить регулярное выражение, чтобы проверить что-то вроде <[a-zA-Z], но есть:

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
  <test>Oh my<Goodness </test>
</node>

Так что это, в основном, снизит ваши шансы на использование регулярного выражения.

Я пытался разобратьваш XML с SimpleXML, DOM, XmlReader, и попытался несколько свойств libxml, и ничего не сработало.

Короче говоря, шансы против вас.Ваш провайдер должен сгенерировать правильный XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...