DOMDocument 检查 html 代码是否在 <h2> 标记中

DOMDocument Check if html code is in <h2> tag

提问人:meloni 提问时间:8/27/2022 更新时间:8/27/2022 访问量:110

问:

我有一个函数可以全部使用, 现在我想检查之间是否有任何 HTML 标签,不要得到 和 跳到下一个。<h2>DOMDocument<h2>[here]</h2><h2>

我的代码:

    foreach ($DOM->getElementsByTagName('*') as $element) {
       if ($element->tagName == 'h2') {
         $h = $element->textContent;
        }
     }
php dom文档

评论

0赞 Ethan 8/28/2022
到目前为止,你尝试了什么?

答:

1赞 Chris Haas 8/27/2022 #1

我认为最简单的方法是在元素上重用并计算找到多少项目。getElementsByTagName("*")

$html = <<<EOT
<html><body><h2>Hello</h2> <h2>World</h2><h2><strong>!</strong></h2></body></html>
EOT;

$dom = new DOMDocument();
$dom->loadHTML($html);
foreach($dom->getElementsByTagName('h2') as $h2) {
    if(!count($h2->getElementsByTagName('*'))){
        var_dump($h2->textContent);
    }
}

演示在这里:https://3v4l.org/dI1e4

评论

0赞 meloni 8/28/2022
是的,这是工作。我是这样添加的:if ($element->tagName == 'h2' && !count($element->getElementsByTagName('*')))