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 に答える