ホームページ  >  記事  >  バックエンド開発  >  PHP 正規表現: HTML 内のすべてのリストを照合する方法

PHP 正規表現: HTML 内のすべてのリストを照合する方法

王林
王林オリジナル
2023-06-22 21:21:471539ブラウズ

Web 開発では、コンテンツをリストに表示することが非常に一般的です。 HTML ファイルを処理および解析するときに、正規表現を使用すると、対応するコンテンツをより簡単に照合することができます。この記事では、PHP 正規表現を使用して HTML 内のすべてのリストを照合する方法を紹介します。

  1. Web ページのテキストの取得
    HTML リストを処理する前に、まず HTML ファイルのテキスト コンテンツを取得する必要があります。 PHP の file_get_contents 関数を使用して、HTML ファイルのテキスト コンテンツ全体を取得できます。コードは次のとおりです:
$html = file_get_contents('example.html');
  1. 順序なしリストの一致
    最初は順序なしリストです。順序なしリストは、ul タグと li タグを通じて実装されます。 ul タグはリスト全体を表すために使用され、li タグはリスト内の各項目を表します。正規表現 ff6d136ddc5fdfeffaf53ff6ee95f185(.*?)929d1f5ca49e04fdcb27f9465b944689 を使用して、すべての順序なしリストと一致させることができます。このうち、? は、この一致が貪欲ではないことを意味し、バッチ一致のために複数のリストが結合されないよう、一致するコンテンツは可能な限り小さく選択されます。完全なコードは次のとおりです。
preg_match_all('/<ul>(.*?)</ul>/s', $html, $matches);

foreach ($matches[0] as $key => $value) {
    echo $key . ': ' . $value . '<br>';
}

上記のコードでは、preg_match_all 関数は複数の一致を実行し、一致結果を $matches に保存できます。 /s は . を意味し、改行を含むすべての文字に一致します。最後に、foreach を使用して、一致する結果を走査して出力します。

  1. 順序付きリストの一致
    順序付きリストは、ol タグと li タグによって実装されます。 ol タグは順序付きリストを表すために使用され、li タグはリスト内の各項目を表します。正規表現は基本的に上記の順序なしリストの照合方法と同じです。順序付きリストの照合の正規表現は次のとおりです:
preg_match_all('/<ol>(.*?)</ol>/s', $html, $matches);

foreach ($matches[0] as $key => $value) {
    echo $key . ': ' . $value . '<br>';
}

同様に、 preg_match_all 関数を使用して照合し、foreach を使用して出力することができます。結果 。

  1. カスタム リストの一致
    カスタム リストは、dl、dt、dd タグを通じて実装されます。 dl タグは定義リストを表し、dt タグはカスタム項目の名前を表し、dd タグはカスタム項目の説明を表します。正規表現は次のとおりです。
preg_match_all('/<dl>(.*?)</dl>/s', $html, $matches);

foreach ($matches[0] as $key => $value) {
    echo $key . ': ' . $value . '<br>';
}

同様に、preg_match_all 関数を使用して照合し、foreach を使用して結果を出力します。

  1. すべてのリストに一致する
    上記の 3 つのリストの一致方法は異なりますが、正規表現は非常に似ています。 HTML 内のすべてのリストと一致する必要がある場合は、単純な正規表現を使用できます。

すべてのリストに一致する正規表現は、/04585a9939123efd3b029e4061973694(.*?)2f93380ee9d9196dac17b821a744d509/s です。

このうち、[ou] は文字セットを表し、o または u に一致することを意味します。照合には preg_match_all 関数を使用します。コードは次のとおりです。

preg_match_all('/<[ou]l>(.*?)</[ou]l>/s', $html, $matches);

foreach ($matches[0] as $key => $value) {
    echo $key . ': ' . $value . '<br>';
}

上記のコードは、HTML 内のすべてのリストと照合し、照合結果を出力します。

概要
HTML ファイルを処理する場合、正規表現を使用すると、対応するコンテンツをより簡単かつ迅速に照合できます。 HTML リストを照合する場合、さまざまなタイプのリストのタグに基づいて照合できます。同時に、3 つのリスト タイプの一致方法を組み合わせて、1 つの正規表現を使用してすべてのリストを一致させることもでき、より便利です。

以上がPHP 正規表現: HTML 内のすべてのリストを照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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