我尝试将一些html加载到DOMDocument php对象中。但是,它不能加载具有属性href的锚元素,其中包含符号。这是要加载的html代码:
<p>Jaźń</p>
<p>gęślą<a href="http://example.com/?abc&def">zażółć</a></p>
<p>Hello!</p>如您所见,在url的查询字符串中,abc和def之间有一个符号。这是utf-8的文本。将其加载到DOMDocument将导致警告,除非移除符号。警告是
警告: DOMDocument::loadHTML():htmlParseEntityRef:期待';‘在实体中,行:2 in / in /MXN5X在第8行
在我的phpunit中,它会导致一个错误。
守则是:
<?php
$html = <<< 'WOW'
<p>Jaźń</p>
<p>gęślą<a href="http://example.com/?abc&def">zażółć</a></p>
<p>Hello!</p>
WOW;
$dom = new DOMDocument();
$dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8"), LIBXML_HTML_NODEFDTD);如何将带有符号的锚元素加载到DOMDocument对象?
发布于 2018-02-08 13:35:57
我也有同样的问题。您应该使用&而不是&而且它运行良好..。
https://stackoverflow.com/questions/38495286
复制相似问题