#php #xml #regex
#php #xml #регулярное выражение
Вопрос:
Я новичок в PHP 🙂
Я пытаюсь загрузить XML, который включает неэкранированные символы. Я хочу использовать РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ. Кто-нибудь может мне сказать, как это сделать правильно?
Это мой простой XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<test>
<url>http://example.com?T=2amp;P=1</url>
</test>
и мой код:
$test = file_get_contents( __DIR__ . '/../test/test.xml' );
$objXml = simplexml_load_string( $test );
var_dump( $objXml );
и я получаю эту ошибку:
"simplexml_load_string(): Entity: line 3: parser error : EntityRef: expecting ';'"
есть идеи, как я могу это получить?
Комментарии:
1. почему вы не используете simplexml_load_file()
Ответ №1:
Просто попробуйте инкапсулировать данные в XML:
<?xml version="1.0" encoding="utf-8"?>
<test>
<url><![CDATA[http://example.com?T=2amp;P=1]]></url>
</test>
Также примите во внимание комментарий @Rakesh Sharma, чтобы использовать simplexml_load_file()