<p>Mit der Entwicklung des Internets werden XML-Dokumente immer häufiger verwendet, daher müssen wir verstehen, wie man reguläre Ausdrücke verwendet, um Inhalte in XML-Dokumenten abzugleichen. Dieser Artikel führt Sie in die praktische Anwendung regulärer PHP-Ausdrücke ein, um Entwicklern dabei zu helfen, XML-Dokumente besser zu verarbeiten und zu analysieren. </p>
<p>Was ist ein XML-Dokument? </p>
<p>XML (Extensible Markup Language) ist eine Auszeichnungssprache, die zum Speichern und Übertragen von Daten verwendet wird. XML-Dokumente bestehen aus Tags, Attributen und Inhalten. Tags sind Beschreibungen zur Identifizierung von Daten, Attribute sind einige spezielle Informationen in Tags und Inhalt sind die durch Tags beschriebenen Daten. </p>
<p>Zum Beispiel: </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">Nach dem Login kopieren</div></div><p>Hier ist <code>book</code> das Tag, <code>genre</code> das Attribut und <code>The Hound of the Baskervilles</code> der Inhalt. XML-Dokumente können beliebig viele Tags, Attribute und Inhalte enthalten. <code>book</code>是标签,<code>genre</code>是属性,<code>The Hound of the Baskervilles</code>是内容。XML文档中可以包含任意数量的标签、属性和内容。</p><p>如何使用PHP正则表达式匹配XML文档?</p><p>在PHP中,可以使用<code>preg_match()</code>函数来匹配XML文档。该函数需要三个参数:正则表达式、要匹配的字符串和一个可选的数组,用于存储匹配结果。</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">Nach dem Login kopieren</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">Nach dem Login kopieren</div></div><p>这里的正则表达式<code>/<([a-zA-Z0-9]+)>/</code>可以匹配XML文档中的标签。<code>([a-zA-Z0-9]+)</code>表示匹配一个或多个大小写字母和数字字符。<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">Nach dem Login kopieren</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">Nach dem Login kopieren</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">Nach dem Login kopieren</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">Nach dem Login kopieren</div></div><p>这里的正则表达式<code>/<title>([^<]+)</title>/</code>可以匹配XML文档中<code><title></code>标签的内容。<code>([^<]+)</code>表示匹配除小于号之外的任意字符,<code></title></code>表示匹配<code></title></code></p>Wie ordne ich XML-Dokumente mit regulären PHP-Ausdrücken zu? <p></p>In PHP können Sie die Funktion <code>preg_match()</code> verwenden, um XML-Dokumente abzugleichen. Diese Funktion benötigt drei Parameter: den regulären Ausdruck, die abzugleichende Zeichenfolge und ein optionales Array zum Speichern der Abgleichsergebnisse. <p></p>Hier ist ein Beispiel, das zeigt, wie reguläre Ausdrücke zum Abgleichen von Tags in XML-Dokumenten verwendet werden: 🎜rrreee🎜Die Ausgabe lautet wie folgt: 🎜rrreee🎜Hier ist der reguläre Ausdruck <code>/<([a-zA -Z0- 9]+)>/</code> kann Tags in XML-Dokumenten abgleichen. <code>([a-zA-Z0-9]+)</code> bedeutet, dass ein oder mehrere Groß- und Kleinbuchstaben sowie numerische Zeichen übereinstimmen. <code><</code> und <code>></code> stellen den Anfang und das Ende von Tags dar. 🎜🎜Während des Abgleichvorgangs sucht die Funktion <code>preg_match()</code> nach Teilzeichenfolgen, die mit dem regulären Ausdruck in der Zeichenfolge übereinstimmen, und speichert die übereinstimmenden Ergebnisse im Array <code>$matches</code>. <code>$matches[0]</code> stellt die gesamte Teilzeichenfolge dar, die mit dem regulären Ausdruck übereinstimmt, und <code>$matches[1]</code> stellt die Teilzeichenfolge innerhalb der ersten Klammer im regulären Ausdruck dar. 🎜🎜Hier sind einige andere häufig verwendete reguläre Ausdrücke: 🎜🎜Übereinstimmende Attribute: 🎜rrreee🎜Die Ausgabe lautet wie folgt: 🎜rrreee🎜Der reguläre Ausdruck hier <code>/([a-zA-Z]+)="([ ^"]+)"/</code> kann Attribute in XML-Dokumenten abgleichen. <code>([a-zA-Z]+)</code> bedeutet, dass ein oder mehrere Groß- und Kleinbuchstaben übereinstimmen, <code>= " </code> stellt den Anfang des Attributs dar, <code>([^"]+)</code> stellt die Übereinstimmung aller Zeichen außer doppelten Anführungszeichen dar und <code>"</code> stellt das Ende des Attributs dar. 🎜🎜Übereinstimmender Inhalt: 🎜rrreee🎜Das Ausgabeergebnis lautet wie folgt: 🎜rrreee🎜Der reguläre Ausdruck hier <code>/<title>([^<]+)</title>/</code> kann übereinstimmen XML-Dokumente Der Inhalt des <code><title></code>-Tags. <code>([^<]+)</code> bedeutet die Übereinstimmung mit jedem Zeichen außer dem Kleiner-als-Zeichen, <code></title></code> bedeutet die Übereinstimmung mit <code></title> Das Ende des Code>-Tags. 🎜🎜Zusammenfassung🎜🎜 Reguläre PHP-Ausdrücke sind sehr nützliche Werkzeuge bei der Verarbeitung von XML-Dokumenten. Durch die Verwendung regulärer Ausdrücke können wir Daten in XML-Dokumenten problemlos abgleichen, extrahieren und verarbeiten. Allerdings ist zu beachten, dass reguläre Ausdrücke nicht sehr effizient sind. Beim Umgang mit großen XML-Dokumenten wird empfohlen, einen speziellen XML-Parser zur Verarbeitung der Daten zu verwenden. 🎜</code>
Das obige ist der detaillierte Inhalt vonRegulärer PHP-Ausdruck in Aktion: Passende XML-Dokumente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!