PHP - シンプルなHTML DOMから非希望HTMLを除外する

ファイサル・シャニ:

私は、ウェブサイトからのタイトル、説明、画像を取得するためにPHPとHTMLの簡単なドムパーサを使用しています。私が直面しています問題は、私はいけないと、これらのHTMLタグを除外するために、どのようにHTMLを取得しています。以下の説明です。

ここで解析されたサンプルのHTML構造です。

<div id="product_description">
<p> Some text</p>
<ul>
<li>value 1</li>
<li>value 2</li>
<li>value 3</li>
</ul>

// the div I dont want
<div id="comments">
<h1> Some Text </h1>
</div>

</div>

私は、解析するPHPスクリプトの下に使用しています

foreach($html->find('div#product_description') as $description)
{
    echo $description->outertext ;
    echo "<br>";
}

上記のコードは、ID「PRODUCT_DESCRIPTION」とdivの内側のすべてを解析します。私はIDが「コメント」とのdiv要素を除外したいどのような。私は、文字列にこれを変換しようとした後、最後の文字を除外するためにSUBSTRを使用しますが厥が動作していません。いけない理由を知っています。私はこれを行うことができます方法についての任意のアイデア?私は、構文解析されたHTMLからdiv要素を除外することができます任意のアプローチが動作します。感謝

ニマ:

あなたは彼らを設定することで、したくない要素を削除することができますoutertext = ''

$src =<<<src
<div id="product_description">
    <p> Some text</p>
    <ul>
        <li>value 1</li>
        <li>value 2</li>
        <li>value 3</li>
    </ul>

    <!-- the div I don't want -->                                                                                                                                        
    <div id="comments">
        <h1> Some Text </h1>
    </div>

</div>
src;

$html = str_get_html($src);

foreach($html->find('#product_description') as $description)
{
    $comments = $description->find('#comments', 0); 
    $comments->outertext = ''; 
    print $description->outertext ;
}

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=399674&siteId=1