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

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

DDD
リリース: 2024-11-01 13:00:03
オリジナル
472 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート