PHP DOMDocument を使用した HTML の解析
PHP で DOMDocument クラスを使用すると、正規表現を使用する場合と比較して、HTML を解析するためのより効率的で信頼性の高い方法が提供されます。 。 HTML ドキュメントから特定のテキストを抽出するには、DOMXpath クラスが重要な役割を果たします。
例:
次の HTML 文字列を考えてみましょう:
<code class="html"><div class="main"> <div class="text"> Capture this text 1 </div> </div> <div class="main"> <div class="text"> Capture this text 2 </div> </div></code>
私たちの目標は、テキスト「Capture this text 1」と「Capture this text 2」を取得することです。
DOMDocument に依存する代わりに、XPath クエリ アプローチ:
::getElementsByTagName は、指定された名前を持つすべてのタグを取得します。XPath を使用すると、その構造に基づいて特定の要素をターゲットにすることができます。
<code class="php">$html = <<<HTML <div class="main"> <div class="text"> Capture this text 1 </div> </div> <div class="main"> <div class="text"> Capture this text 2 </div> </div> HTML; $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom);</code>
XPath を使用すると、次のクエリを実行できます:
<code class="php">$tags = $xpath->query('//div[@class="main"]/div[@class="text"]'); foreach ($tags as $tag) { var_dump(trim($tag->nodeValue)); }</code>
このクエリは、クラス "main" の div タグ内にネストされているクラス "text" のすべての div タグを取得します。
出力:
string 'Capture this text 1' (length=19) string 'Capture this text 2' (length=19)
これは、特定のコンテンツの正確な HTML 解析と抽出に PHP の DOMDocument と DOMXpath を使用することの有効性を示しています。
以上がPHP DOMDocument と DOMXpath を使用して HTML から特定のテキストを効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。