我正在尝试使用 QueryPath 在 PHP 中操作 HTML。它工作正常,直到某些 utf-8 字符与 ->html() 和 ->text() 方法一起使用。即使使用 html-characters 也不能解决问题。
有问题的例子:
$html = "<html><body id='a'>test</body></html>";
$html = qp($html, "#a" )->text("å")->top()->html(); // results in disappearing html code
//$html = qp($html, "#a" )->html("å")->top()->html(); // generates warnings
echo $html
我尝试了多种组合都没有成功。
如果我注释掉第二行并取消注释第三行,我会收到以下警告: 警告:DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'aring' not defined in D:\Inetpub\wwwroot\QueryPath- 2.1.2-minimal\QueryPath.php 在第 1208 行警告:DOMDocumentFragment::appendXML(): å 在 D:\Inetpub\wwwroot\QueryPath-2.1.2-minimal\QueryPath.php 在第 1208 行警告:DOMDocumentFragment::appendXML (): ^ 在 D:\Inetpub\wwwroot\QueryPath-2.1.2-minimal\QueryPath.php 1208 行