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

PHP 正規表現: HTML 内のすべての img タグと一致する方法

王林
リリース: 2023-06-23 11:38:02
オリジナル
1870 人が閲覧しました

正規表現は、テキスト内の特定のパターンを検索、置換、照合できる強力な文字列処理ツールです。正規表現は、PHP 開発、特に HTML やその他のテキスト形式を扱う場合に広く使用されています。この記事では、正規表現を使用して HTML 内のすべての img タグと一致する方法を説明します。

まず、img タグの基本構造を理解する必要があります。通常、単純な img タグには次の属性が含まれます。

  • src: 画像の URL を指定します。
  • alt: 画像の代替テキスト。画像が表示できない場合に表示されます。
  • 幅と高さ: 画像の幅と高さ (ピクセル単位)。

サンプル コードは次のとおりです:

<img src="example.jpg" alt="Example Image" width="200" height="150">
ログイン後にコピー

これで、正規表現を使用して HTML 内のすべての img タグと一致します。すべての正当な img タグに一致する単純な正規パターンを次に示します。

/<s*imgs+[^>]*>/i
ログイン後にコピー

この正規表現を 1 つずつ解析してみましょう。

  • /: 正規表現の境界。一致の開始を示します。
  • <: 左の山かっこに一致します。
  • s*: 任意の数のスペースと一致します。
  • img: 文字列「img」と一致します。
  • s : 少なくとも 1 つのスペースと一致します。
  • 1*: 右山括弧を除く任意の文字に一致し、0 回以上繰り返されます。
  • : 直角括弧と一致します。
  • /i: 大文字と小文字が区別されないことを示す正規表現フラグ。

PHP の preg_match_all() 関数を使用して正規表現を適用できるようになりました。この関数は、文字列内でグローバルな正規一致を実行し、すべての一致結果を返すことができます。サンプル コードは次のとおりです。

$html = 'Example Image 1
         Example Image 2';

$pattern = '/<s*imgs+[^>]*>/i';
preg_match_all($pattern, $html, $matches);

print_r($matches[0]);
ログイン後にコピー

上記のコードでは、まず文字列変数 $html を定義します。これには 2 つの img タグが含まれています。次に、すべての img タグに一致する正規表現パターン $pattern を定義します。最後に、preg_match_all() 関数を使用して正規表現を適用し、結果を変数 $matches に保存します。最後に、変数 $matches の最初の要素を出力します。これは、すべての一致結果の配列です。

上記のコードの出力は次のとおりです:

Array
(
    [0] => <img src="example1.jpg" alt="Example Image 1" width="200" height="150">
    [1] => <img src="example2.jpg" alt="Example Image 2" width="200" height="150">
)
ログイン後にコピー

上に示すように、HTML 内のすべての img タグが正常に一致し、$matches 配列に保存されました。実際のアプリケーションでは、各 img タグの URL、幅、高さ、その他の属性を抽出するなど、これらの一致結果をさらに処理できます。

つまり、正規表現は、さまざまなテキスト形式の処理に使用できる非常に便利なツールです。 PHP 開発では、HTML、XML、その他の形式のデータを解析するために正規表現がよく使用されます。この記事では、正規表現を使用して HTML 内のすべての img タグを照合する方法と、PHP の preg_match_all() 関数を使用してグローバルな正規照合を行う方法について説明します。この記事が PHP 開発者にとって役立つことを願っています。


  1. >

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

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