3

好的,假设我有这个字符串:

<div class='box'>i like the world</div><div class='box'>i like my computer</div>

我将如何回应包含“世界”一词的 div?这会涉及某种正则表达式吗?

非常感谢你。

4

2 回答 2

6

使用DOMDocumentDOMXPath你可以很容易地做到这一点:

<?php

$html = "<div class='box'>i like the world</div><div class='box'>i like my computer</div>";
$doc = new DOMDOcument();
$doc->loadHTML($html);

$xPath = new DOMXPath($doc);
$nodes = $xPath->query("//div[contains(text(),'world')]");

现在$nodes包含所有div包含单词的元素world

演示:http ://codepad.viper-7.com/Dhalvh

请注意,您不想尝试使用正则表达式解析 HTML,因为它是什么时候的问题,而不是它是否会中断

于 2012-12-26T03:03:40.213 回答
1
<?php 
    $html[0] = "<div class='box'>i like the world</div>";
    $html[1] = "<div class='box'>i like my computer</div>";

    foreach ($html as $div) {
        if (preg_match("/world/i", $div)) {
            echo($div);
        }
    }
?>

是的,我想正则表达式将是一种方便的方法。

于 2012-12-26T02:55:21.413 回答