PHP 检查 h2 标签之间是否存在单词

PHP Check if word exists between h2 tags

我有这个 SEO 脚本,我在 $row['content'] 中查找 $row_meta['keyword']这是我搜索的重点关键字。

我想检查 h1、h2、h3 或 h4 标签是否包含我的关键字。例如,如果我的 $row_meta['keyword'] = "test"; 此文本应该匹配:

This is my text
<h2>We just want to test</h2>
but this text containing test is not a match, only between h tags.

有人能帮我吗?

我有一些类似的东西,正在测试我是否有任何 img 标签包含带有我的关键字的 alt 标签,这是我的代码:

$dom = new DOMDocument();
$dom->loadHTML($row['content']);
foreach ($dom->getElementsByTagName('img') as $img) {
    $alt = $img->getAttribute('alt');
    if (preg_match("/\b".$row_meta['keyword']."\b/", $alt)) {
        $counter++;
    }
}

不确定这是否正确(我已经 php 很久没做过了,不确定这是否是正确的解析器)但我认为您可以执行以下操作

$dom = new DOMDocument();
$dom->loadHTML($row['content']);
foreach ($dom->getElementsByTagName('h2') as $h2) {
    $text = $h2->nodeValue;
    if (preg_match("/\b".$row_meta['keyword']."\b/", $text)) {
        $counter++;
    }
}