0

我正在使用简单的 html dom。我有这个代码:

<html>
<div class="one">
<div class="two">this is inner text </div>
<a href="#" class="three">this is inner anchor</a>
This is outer test
</div>
</html>

我只想取This is outer test。这是我的代码:

$html = file_get_html(SITE_URL.'/forumlist.php');  
$html->find('.two',0)->outertext = "";
$html->find('.three',0)->outertext = "";
$html->save();
echo $html->find('.one',0)->plaintext;

我很失望..

4

1 回答 1

1

就我阅读文档而言,我认为你不能像想象的那样简单(我当然可能错了),但你可以手动删除不需要的字符串str_replace

$string = '<html>
<div class="one">
<div class="two">this is inner text </div>
<a href="#" class="three">this is inner anchor</a>
This is outer test
</div>
</html>';

$html = str_get_html( $string );
echo str_replace(
        array(
            $html->find('.two',0)->plaintext,
            $html->find('.three',0)->plaintext
        ),
        null,
        $html->find('.one',0)->plaintext
    );

如果您知道 html 的结构,这实际上应该可以解决问题。

于 2013-02-11T08:35:42.323 回答