ホームページ >バックエンド開発 >PHPチュートリアル >PHP 正規表現: HTML 内のすべての画像とリンクを一致させる方法

PHP 正規表現: HTML 内のすべての画像とリンクを一致させる方法

王林
王林オリジナル
2023-06-23 11:32:321641ブラウズ

インターネットの普及により、Web ページの制作と Web サイト開発は大きな需要のある業界になりました。 Webページ制作において、画像やリンクは欠かせない要素ですが、これらの要素を処理する際に正規表現は非常に役立ちます。この記事では、PHP 正規表現を使用して HTML 内のすべての画像とリンクを照合する方法を説明します。

1. 一致する画像

HTML では、通常、画像は a1f02c36ba31691bcfe87b2722de723b タグを使用して導入され、その形式は次のとおりです:

<img src="图片路径" alt="替代文字">

すべての For 画像と一致するには、すべての a1f02c36ba31691bcfe87b2722de723b タグと一致し、そこから画像パスを抽出する必要があります。照合には次の正規表現を使用できます:

$pattern = '/<img.*?src=["']?(.*?)["'].*?>/i';

この正規表現の機能は次のとおりです:

  • 1d0a94b69819f080670a8fe502661b4a: 照合a1f02c36ba31691bcfe87b2722de723b 開始タグ。
  • src=["']?: src 属性と一致します。
  • (.*?): 非を使用します。貪欲なパターンは画像パスと一致します。
  • ["'].*?>: src 属性値および 91322805dcced3b1c0c5e71106960599 タグを使用して実装されます。形式は次のとおりです。
    <a href="链接地址">链接文字</a>

    3499910bf9dac5ae3c52d5ede7383485 タグを照合し、そこからリンク アドレスとリンク テキストを抽出する必要があります。次の正規表現を照合に使用できます:

    $pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';

    この正規表現の機能は次のとおりです:

    • 55784847ccfa800f7f23a4af7651bca8: 照合3499910bf9dac5ae3c52d5ede7383485 開始タグ。
    • href=["']?: href 属性と一致します。
    • (.*?): 非を使用します。貪欲なパターンはリンク アドレスと一致します。
    • ["'].*?>: href 属性値の後の他の属性と一致します。
    • (.*?)5db79b134e9f6b82c0b36e0489ee08ed: 欲張らないパターンを使用して、リンク テキストと終了タグを一致させます。

    以下は簡単な PHP コードの例です:

    $html = '百度谷歌';
    $pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';
    preg_match_all($pattern, $html, $matches);
    $urls = $matches[1];
    $names = $matches[2];
    print_r($urls);
    print_r($names);

    出力結果は次のとおりです:

    Array
    (
        [0] => http://www.baidu.com
        [1] => http://www.google.com
    )
    Array
    (
        [0] => 百度
        [1] => 谷歌
    )

    ご覧のとおり、HTML 内のすべてのリンクが正常に一致しました。アドレスとリンクのテキスト。

    3. 概要

    PHP 正規表現を使用すると、HTML 内の画像とリンクを簡単に照合できるため、Web ページの制作や Web サイト開発の作業が大幅に簡素化されます。もちろん、実際の開発では、プログラムの安定性とセキュリティを確保するために、正規表現の最適化やエラー処理に注意を払う必要があります。

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

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