我对php的HTMLDOMDocument类比较新。
我正在做这样的事情:
$html = getHTML();
$htmlDOM = new DOMDocument('5.0', 'utf-8');
libxml_use_internal_errors(true);
$htmlDOM->loadHTML(mb_convert_encoding(($html), 'HTML-ENTITIES', 'UTF-8'));
libxml_clear_errors();
不幸的是,检索到的所有元素都有类,而不是ID。通过Id或标签检索元素非常简单......
但是,如何使用特定类检索内部的一些元素(例如:post-hover
),然后从$htmlDOM
中删除它们?
答案 0 :(得分:1)
不知道他们为什么还没有添加getElementsByClassName。但您可以使用xpath来查找元素(取自here):
$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
然后简单地循环并删除:
foreach($nodes as $node){
$node->parentNode->removeChild($node);
}