目前,当我使用DOMDocument对象并调用saveHTML()时,它会自动添加一些我不想要的html标签。我尝试了这里建议的解决方案(https://stackoverflow.com/a/31426408/3659230),当我这样做时,我得到了这个错误:
DOMDocument :: loadHTML()期望参数2为long,给定字符串
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'), LIBXML_HTML_NOIMPLIED|LIBXML_HTML_NODEFDTD);
看起来很简单,但我似乎无法让它发挥作用。我使用的是PHP 5.5.3版本
答案 0 :(得分:3)
holder.diffNowsdtelTV.getText().toString()
和LIBXML_HTML_NOIMPLIED
仅从PHP 5.4开始定义。
如果未定义常量,PHP(白痴地)将其视为字符串。所以在PHP 5.3及更低版本中,您的代码实际上是
LIBXML_HTML_NODEFDTD
或者,一旦执行了按位运算符:
$doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'), 'LIBXML_HTML_NOIMPLIED'|'LIBXML_HTML_NODEFDTD');
这显然不是你想要的!如果可能,您最好的选择是升级到更新版本的PHP。