2017-04-13 11 views
0

PHP Simple DOM Parser librairyを使用しています。少し質問があります.. 私はHTML文書を解析する必要があります:PHPを使用して子供のテキストノードを取得せずにノードのテキストを取得する方法単純なDOMパーサー

<div> 
 
    here the text I want 
 
    <strong>another text</strong> 
 
</div>

私はそれが唯一のdivタグ(とない強いタグからテキスト)からテキストを取得することが可能ですかどうかを知りたいと思います。これは自動的に(テキストの場所を指定せずに)可能ですか?

ありがとうございます。

ヨルダン

答えて

0

あなたはdiv要素の子を取得し、テキストノード(strongおよび他の要素を除外されます)のためになります:ルート要素は常にdivではなく、任意の要素であることができれば

$html = "<div> 
    here the text I want 
    <strong>another text</strong> 
</div>"; 

$dom = new DOMDocument; 
$dom->loadHTML($html); 
$div = $dom->getElementsByTagName('div')[0]; 
$text = ""; 
foreach($div->childNodes as $node) { 
    if ($node->nodeType == XML_TEXT_NODE) $text .= $node->nodeValue; 
} 
echo trim($text); 

、その後、このよう$ divのへの割り当てを変更します。

$div = $dom->getElementsByTagName('body')[0]->childNodes[0]; 
+0

あなたの答えをありがとう!ルートノードはdivタグではないことを忘れていましたが、この問題の解決策はありますか?前もってありがとう – PUBJ

+0

私はちょうど私の答えに追加された最後の段落を参照してください。 – trincot

+0

あなたの答えをありがとう! – PUBJ

関連する問題