【问题标题】:Is there a way to match words to sentences inside a html <b> tag in PHP有没有办法将单词与PHP中的html <b>标签内的句子匹配
【发布时间】:2020-06-22 00:24:24
【问题描述】:

所以我有这段代码来提取 b 标签之间的文本。

$source_url = "https://www.wordpress.com/";
$html = file_get_contents($source_url);
$dom = new DOMDocument;
@$dom->loadHTML($html);
$links = $dom->getElementsByTagName('b');
$words = "php"; 

echo "<pre>";
print_r($dom);
echo "</pre>";

我尝试使用 array_push 和其他方法将文本放入数组中,但如果我打算使用 in_array 我需要把整个句子都返回 true 而不仅仅是一个单词。

所以我真正想要的是:

如果该句子包含 'php' 则返回 true

【问题讨论】:

    标签: php dom web-crawler


    【解决方案1】:

    试试这个:

    foreach($links as $link) {
        $p = strtolower($link->nodeValue);
        if (strpos($p, 'php') !== false) {
            // do something
    
        }
    }
    

    【讨论】:

    • 尝试打印 $links 以确保它不为空
    • 它不为空,每次我尝试它都会返回真。我尝试使用不存在的单词返回 true,尝试使用存在的单词再次返回 true.. 在我自己的网站上尝试过。
    • 我发现它为什么 >= 0 应该 >= 1 这样它工作正常。感谢您的帮助
    • 好。请尝试使用 !== false
    • 使用 !== false 也可以正常工作,感谢您的帮助
    猜你喜欢
    • 2022-08-15
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多