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

王林
リリース: 2023-06-22 11:48:01
オリジナル
860 人が閲覧しました
<p>インターネットの発展に伴い、XML ドキュメントはますます一般的になっているため、正規表現を使用して XML ドキュメントのコンテンツを照合する方法を理解する必要があります。この記事では、開発者が XML ドキュメントをより適切に処理および分析できるようにするための PHP 正規表現の実際の応用方法を紹介します。 </p> <p>XML ドキュメントとは何ですか? </p> <p>XML (Extensible Markup Language) は、データの保存と送信に使用されるマークアップ言語です。 XML ドキュメントは、タグ、属性、コンテンツで構成されます。タグはデータを識別するために使用される記述であり、属性はタグ内の特別な情報であり、コンテンツはタグで記述されたデータです。 </p> <p>例: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:xml;toolbar:false;'><book genre="mystery"> <title>The Hound of the Baskervilles</title> <author>Arthur Conan Doyle</author> <price>5.99</price> </book></pre><div class="contentsignin">ログイン後にコピー</div></div><p>ここで、<code>book</code> はタグ、<code>genre</code> は属性、<code>バスカヴィル家の犬</code>の内容です。 XML ドキュメントには、任意の数のタグ、属性、コンテンツを含めることができます。 </p><p>PHP 正規表現を使用して XML ドキュメントを照合するにはどうすればよいですか? </p><p>PHP では、<code>preg_match()</code> 関数を使用して XML ドキュメントを照合できます。この関数は、正規表現、一致する文字列、一致結果を保存するオプションの配列の 3 つのパラメータを取ります。 </p><p>次の例は、正規表現を使用して XML ドキュメント内のタグを照合する方法を示しています: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$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);</pre><div class="contentsignin">ログイン後にコピー</div></div><p>出力は次のとおりです: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Array ( [0] => <book> [1] => book )</pre><div class="contentsignin">ログイン後にコピー</div></div><p>ここでの正規表現式 <code>/<([a-zA-Z0-9] )>/</code> は、XML ドキュメント内のタグと一致します。 <code>([a-zA-Z0-9] )</code> は、1 つ以上の大文字、小文字、数字と一致することを意味します。 <code><</code> および <code>></code> はタグの開始と終了を表します。 </p><p>マッチング プロセス中に、<code>preg_match()</code> 関数は文字列内の正規表現に一致する部分文字列を検索し、一致した結果を <code>$matches</code> 配列に保存します。真ん中。 <code>$matches[0]</code> は正規表現に一致する部分文字列全体を表し、<code>$matches[1]</code> は正規表現の最初の括弧内の部分文字列を表します。 </p><p>以下は、その他のよく使用される正規表現です: </p><p> 一致する属性: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$pattern = '/([a-zA-Z]+)="([^"]+)"/'; preg_match($pattern, $xml, $matches); print_r($matches);</pre><div class="contentsignin">ログイン後にコピー</div></div><p>出力結果は次のとおりです: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Array ( [0] => genre="mystery" [1] => genre [2] => mystery )</pre><div class="contentsignin">ログイン後にコピー</div></div><p>ここに正規表現<code>/([a-zA-Z] )="([^"] )"/</code> は XML ドキュメントの属性と一致します。 <code>([a-zA-Z] )</code> は属性と一致することを意味しますまたは複数の大文字と小文字。 <code>="</code> は属性の先頭を示します。 <code>([^"] )</code> は二重引用符を除く任意の文字と一致することを示します。 <code>"</code> は次のことを示します属性の終わり。 </p><p> 一致するコンテンツ: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$pattern = '/<title>([^<]+)</title>/'; preg_match($pattern, $xml, $matches); print_r($matches);</pre><div class="contentsignin">ログイン後にコピー</div></div><p>出力結果は次のとおりです: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Array ( [0] => <title>The Hound of the Baskervilles</title> [1] => The Hound of the Baskervilles )</pre><div class="contentsignin">ログイン後にコピー</div></div><p>ここに正規表現<code>/<title>([^<] )< ;/ title>/</code> は、XML ドキュメントの <code><title></code> タグの内容と一致します。 <code>([^<] )</code> は、不等号を除く任意の文字と一致することを意味し、<code></title></code> は、<code></title></code> タグと一致することを意味します。 。 </p> <p>概要</p> <p> PHP 正規表現は、XML ドキュメントを処理するときに非常に便利なツールです。正規表現を使用すると、XML ドキュメント内のデータを簡単に照合、抽出、処理できます。ただし、正規表現はあまり効率的ではないことに注意してください。大きな XML ドキュメントを扱う場合は、専用の XML パーサーを使用してデータを処理することをお勧めします。 </p>

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!