Проблема с неверным XML / HTML в PHP DOM - PullRequest
0 голосов
/ 18 июня 2011

Предположим, у вас есть следующий HTML:

<style><input><div name="myDiv"></div></style>

Вы хотите загрузить его в объект PHP DOMDocument, как это сделать? Если вы используете $doc->loadHTML(), у вас будет проблема с тем, что <div> находится внутри тега <style>. Если вы используете $doc->loadXML(), возникнет проблема, заключающаяся в том, что тег <input> не закроется.

Примечание: я не могу редактировать HTML, только PHP, используемый для его анализа, потому что я здесь соскребаю.

Ответы [ 2 ]

5 голосов
/ 18 июня 2011

Попробуйте это:

$doc = new DOMDocument;
$doc->recover = true;
$doc->loadXml($response);

$doc->recover = true указывает DOMDocument на попытку разбора плохо сформированных документов. См. документацию для получения дополнительной информации.

0 голосов
/ 18 июня 2011

Разве вы не можете превратить HTML в строку, взорвать ее, а затем сшить обратно с закрывающим тегом?

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