【发布时间】:2017-06-08 00:19:54
【问题描述】:
我正在尝试使用 PHP 解析一些 html 以添加一些节点,但 DOMDocument->saveHTML 的输出没有按预期工作,因为 href 属性已编码。
这是一个用于检查错误输出的简单代码:
$html = "<a href='javascript:console.log(\"klk\");'>click here</a>";
$doc = new DOMDocument();
$doc->loadHTML( $html );
echo $html . "\n";
echo "-----------------\n";
echo $doc->saveHTML( $doc->getElementsByTagName('a')[0] ) . "\n";
这是输出:
<a href='javascript:console.log("klk");'>click here</a>
-----------------
<a href="javascript:console.log(%22klk%22);">click here</a>
如您所见,href 属性出了点问题。
知道如何解决这个问题吗?
测试/播放网址:http://ideone.com/TsDhI3
【问题讨论】:
标签: php escaping domdocument