我试图从这个页面中只提取一个具有id=MainText
的div元素。然而,当我把这个页面的内容加载到DOM对象中时,我会得到几个错误:
标记g:plusone无效。。。意外的结束标记。。。htmlParseEntityRef:没有名称。。。htmlParseEntityRef:应为";"。。。
所以,我在想,如果可以忽略文档中的所有其他内容,直接转到我想要的部分,只获取具有特定id的div元素。
或者,除了使用domdocument类来实现相同的功能之外,还有其他选择吗?我不太擅长写正则表达式。
w3c验证器在快速运行时会抛出很多错误。尝试以这种方式清理html,然后将其馈送到DomDocument:
#Assuming that $html is your html source (retrieve it as you prefer)
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();
$document = new DOMDocument();
$document->loadHTML((string)$tidy);
永远不要将RegEx与HTML一起使用。
坚持使用DOMDocument,如果它们不会引起进一步的问题,可能会抑制错误。