ホームページ >バックエンド開発 >PHPチュートリアル >PHP 正規表現の動作: XML ドキュメントの照合

PHP 正規表現の動作: XML ドキュメントの照合

王林
王林オリジナル
2023-06-22 10:39:12931ブラウズ

インターネットの発展に伴い、XML ドキュメントはますます一般的になっているため、正規表現を使用して XML ドキュメントのコンテンツを照合する方法を理解する必要があります。この記事では、開発者が XML ドキュメントをより適切に処理および分析できるようにするための PHP 正規表現の実際の応用方法を紹介します。

XML ドキュメントとは何ですか?

XML (Extensible Markup Language) は、データの保存と送信に使用されるマークアップ言語です。 XML ドキュメントは、タグ、属性、コンテンツで構成されます。タグはデータを識別するために使用される記述であり、属性はタグ内の特別な情報であり、コンテンツはタグで記述されたデータです。

例:

<book genre="mystery">
   <title>The Hound of the Baskervilles</title>
   <author>Arthur Conan Doyle</author>
   <price>5.99</price>
</book>

ここで、book はタグ、genre は属性、バスカヴィル家の犬の内容です。 XML ドキュメントには、任意の数のタグ、属性、コンテンツを含めることができます。

PHP 正規表現を使用して XML ドキュメントを照合するにはどうすればよいですか?

PHP では、preg_match() 関数を使用して XML ドキュメントを照合できます。この関数は、正規表現、一致する文字列、一致結果を保存するオプションの配列の 3 つのパラメータを取ります。

次の例は、正規表現を使用して XML ドキュメント内のタグを照合する方法を示しています:

$xml = '<book genre="mystery">
           <title>The Hound of the Baskervilles</title>
           <author>Arthur Conan Doyle</author>
           <price>5.99</price>
        </book>';

$pattern = '/<([a-zA-Z0-9]+)>/';

preg_match($pattern, $xml, $matches);

print_r($matches);

出力は次のとおりです:

Array
(
    [0] => <book>
    [1] => book
)

ここでの正規表現式 /68153719c4b6f27894831d745b8fb51e/ は、XML ドキュメント内のタグと一致します。 ([a-zA-Z0-9] ) は、1 つ以上の大文字、小文字、数字と一致することを意味します。 2ed8c5403cb1fd9a65d0848d6e5076d7 はタグの開始と終了を表します。

マッチング プロセス中に、preg_match() 関数は文字列内の正規表現に一致する部分文字列を検索し、一致した結果を $matches 配列に保存します。真ん中。 $matches[0] は正規表現に一致する部分文字列全体を表し、$matches[1] は正規表現の最初の括弧内の部分文字列を表します。

以下は、その他のよく使用される正規表現です:

一致する属性:

$pattern = '/([a-zA-Z]+)="([^"]+)"/';

preg_match($pattern, $xml, $matches);

print_r($matches);

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

Array
(
    [0] => genre="mystery"
    [1] => genre
    [2] => mystery
)

ここに正規表現/([a-zA-Z] )="([^"] )"/ は XML ドキュメントの属性と一致します。 ([a-zA-Z] ) は属性と一致することを意味しますまたは複数の大文字と小文字。 =" は属性の先頭を示します。 ([^"] ) は二重引用符を除く任意の文字と一致することを示します。 " は次のことを示します属性の終わり。

一致するコンテンツ:

$pattern = '/<title>([^<]+)</title>/';

preg_match($pattern, $xml, $matches);

print_r($matches);

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

Array
(
    [0] => <title>The Hound of the Baskervilles</title>
    [1] => The Hound of the Baskervilles
)

ここに正規表現/b2386ffb911b14667cb8f0f91ea547a7([^54e023efc748a52b4b6bacca027b5015 は、6e916e0f7d1e588d4f442bf645aedb2f タグと一致することを意味します。 。

概要

PHP 正規表現は、XML ドキュメントを処理するときに非常に便利なツールです。正規表現を使用すると、XML ドキュメント内のデータを簡単に照合、抽出、処理できます。ただし、正規表現はあまり効率的ではないことに注意してください。大きな XML ドキュメントを扱う場合は、専用の XML パーサーを使用してデータを処理することをお勧めします。

以上がPHP 正規表現の動作: XML ドキュメントの照合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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