我的HTML内容:
$content = <div class="class-name some-other-class">
<p>ack</p>
</div>
目标:使用class="class-name
删除div,以便我留下:
<p>ack</p>
我知道strip_tags($content, '<p>');
会在这个实例中完成这项工作,但我希望能够使用某个类来定位div并保留其他div等。
而且我知道你不应该通过正则表达式传递html - 所以最好的方法/正确的方法来实现这一点。
答案 0 :(得分:0)
也许有一些jQuery? '$( “类名。”)除去();'
答案 1 :(得分:0)
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($content); // loads your HTML
$xpath = new DOMXPath($doc);
// returns a list of all links with class containing class-name
$nlist = $xpath->query("div[contains(@class, 'class-name')]");
// Remove the nodes from the xpath query
foreach($nlist as $node) {
$node->parentNode->removeChild($node);
}
echo $doc->saveHtml();