ホームページ  >  記事  >  バックエンド開発  >  PHP の DOMDocument と XPath を使用して HTML から特定のテキストを抽出するにはどうすればよいですか?

PHP の DOMDocument と XPath を使用して HTML から特定のテキストを抽出するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 13:00:03376ブラウズ

How do I extract specific text from HTML using PHP's DOMDocument and XPath?

PHP の DOMDocument を使用して HTML を解析する

PHP の DOMDocument を使用して HTML から特定のテキスト要素を抽出するには、XPath クエリのみを利用するよりも効果的です。 DOMDocument::getElementsByTagName で。 XPath クエリを使用すると、ドキュメント構造内の特定の基準に基づいて正確に選択できます。

ネストされた DIV からのテキストのキャプチャ

提供されているサンプル HTML には、ネストされた

が含まれています。タグ。ターゲット テキストは
内にあります。クラス「text」を持つ要素。これらの要素は
内にネストされます。クラス「main」を持つ要素。

ターゲット テキストをキャプチャするには、XPath クエリを使用できます。

<code class="php">$xpath->query('//div[@class="main"]/div[@class="text"]');</code>

このクエリは、すべての

を選択します。 class 属性が「text」に設定されており、
の子孫である要素。 class 属性が「main」に設定された要素。結果は、一致する要素のリストです。

ノード値の反復と抽出

実際のテキスト コンテンツにアクセスするには、一致する各要素とそのノード値を反復できます。アクセスされるプロパティ:

<code class="php">foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}</code>

trim() 関数は、抽出されたテキストから先頭または末尾の空白を削除するために使用されます。

実行出力

コードを実行すると以下が出力されます:

string 'Capture this text 1' (length=19)
string 'Capture this text 2' (length=19)

以上がPHP の DOMDocument と XPath を使用して HTML から特定のテキストを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。