2017-04-24 10 views
1

PHPを使用してSimpleXMLに由来するHTML文字列のコンテンツを取得したいと考えています。PHPでXPATHを使用して同じクラスのHTMLコンテンツを1つだけ取得する方法は?

私はすでに説明タグからHTML文字列を取得したXMLファイルを持っています。このHTML文字列には、必要のないdivがいくつかあります。私は、私が知っている道からのexplictの内容を取り出すことを望みます。

私は別の同様の質問を通して読んでいましたが、XPATHを使用して適切な解決策を見つけることができず、希望の成功なしにさまざまな方法を試みました。

だから、全体のHTML文字列は以下の通りです:同じ名前の同じクラスがあるとき

<div class="field field-name-field-image field-type-image field-label-hidden"> 
    <div class="field-items"> 
     <div class="field-item even"> 
      <a href="/content/menschen"></a> 
     </div> 
    </div> 
</div> 

<div class="field field-name-body field-type-text-with-summary field-label-hidden"> 
    <div class="field-items"> 
     <div class="field-item even"> 
      <p>**GRAB JUST THIS TEXT**</p> 
     </div> 
    </div> 
</div> 

<div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-above"> 
    <div class="field-label">Tags:&nbsp;</div> 
    <div class="field-items"> 
     <div class="field-item even"> 
      <a href="/tags/louise">Louise</a> 
     </div> 
     <div class="field-item odd"> 
      <a href="/tags/gray">Gray</a> 
     </div> 
     <div class="field-item even"> 
      <a href="/taxonomy/term/3016">Buch</a> 
     </div> 
     <div class="field-item odd"> 
      <a href="/tags/rezension">Rezension</a> 
     </div> 
     <div class="field-item even"> 
      <a href="/tags/richtig">Richtig</a> 
     </div> 
    </div> 
</div> 

それでは、どのようにこの問題を解決するのでしょうか?

ありがとうございます。

答えて

3

私はあなたが使用することができます推測:

$dom = new DOMDocument(); 
$dom->loadHTML($html); 
$xpath = new DOMXPath($dom); 

print $xpath->query('//div[contains(@class,"field-item even")]/p')[0]->textContent; 
# **GRAB JUST THIS TEXT** 

PHP DEMO

+0

おかげでたくさん。それでおしまい。 – John

+0

あなたは大歓迎です@ジョン –

関連する問題