ホームページ >バックエンド開発 >PHPチュートリアル >正規表現を使用せずに PHP で HTML を解析するにはどうすればよいですか?

正規表現を使用せずに PHP で HTML を解析するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-06 11:31:111002ブラウズ

How to Parse HTML in PHP without Regular Expressions?

PHP HTML コードの解析 (正規表現なし)

HTML コードを含む PHP 変数があり、HTML コード間のテキストを抽出する必要があります。正規表現を使用せずに見出しを作成します。

解決策 1: PHP ドキュメント オブジェクト モデル(DOM)

このアプローチには、PHP ドキュメント オブジェクト モデル (DOM) を使用して HTML を解析することが含まれます:

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG';
$DOM = new DOMDocument;
$DOM->loadHTML($str);

// Get all H1 elements
$items = $DOM->getElementsByTagName('h1');

// Display the text of each H1 element
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "<br/>";
}
?>

これにより、見出し内のテキストが出力されます:

T1
T2
T3

解決策 2: 正規表現の置換 (コンテンツ間のコンテンツの場合)見出し)

見出し間のコンテンツを抽出することが目的の場合は、次のように正規表現を使用できます:

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG';
$result = preg_replace("#<h1>.*?</h1>.*?</h1>#", "", $str);

echo $result;
?>

これにより、見出し間のコンテンツが出力されます:

Lorem ipsum.The quick red fox...... jumps over the lazy brown FROG

以上が正規表現を使用せずに PHP で HTML を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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