如果单词不存在,PHP删除div

时间:2012-12-26 02:43:50

标签: php xpath domdocument

好的,我们说我有这个字符串:

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

我如何回应包含单词&#34; world&#34;?的div? 这会包含某种正则表达式吗?

提前非常感谢你。

2 个答案:

答案 0 :(得分: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的{​​{1}}元素。

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

请注意,您不希望尝试使用正则表达式解析HTML,因为这是时间问题而不是it is going to break

答案 1 :(得分: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);
        }
    }
?>

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

相关问题