Aktueller Standort: Startseite> Neueste Artikel> Wie extrahiere ich spezifische Tag -Inhalte aus der HTML -Quelle mithilfe von PREG_MATCH -Funktion? Was sind die detaillierten Betriebsschritte?

Wie extrahiere ich spezifische Tag -Inhalte aus der HTML -Quelle mithilfe von PREG_MATCH -Funktion? Was sind die detaillierten Betriebsschritte?

gitbox 2025-08-21
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// In diesem Artikel wird erläutert, wie man es benutztPHPInternpreg_matchFunktionen zu extrahierenHTML源码Intern特定标签Inhalt。</span></span><span>
</span><span><span class="hljs-comment">// preg_matchEs ist ein leistungsstarkes reguläres Ausdrucks -Matching -Tool,Geeignet für einfache Musteranpassungen。</span></span><span>
</span><span><span class="hljs-comment">// Jedoch,Für komplexHTMLStruktur,Empfohlen zu verwendenDOMDocumentStabilere Methoden。</span></span><span>
</span><span><span class="hljs-comment">// Dieser Artikel wird zu Lernzwecken dienen,ausstellenpreg_matchexistieren提取标签Intern基本用法。</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

&lt;h1&gt;Wie man es benutztpreg_matchFunktion vonHTMLExtrahieren Sie spezifische Tag -Inhalte aus dem Quellcode?Was sind die detaillierten Betriebsschritte??&lt;/h1&gt;

existierenWebIn der Entwicklung,Wir müssen oftHTMLExtrahieren Sie bestimmte spezifische Tag -Inhalte aus dem Quellcode,比如提取页面Intern标题、Bildadresse oder Absatztext。Obwohl AnalyseHTMLEmpfohlene VerwendungDOMParser und andere Werkzeuge,但existiereneins些简单的场景中,verwenden`preg_match`Funktionen können auch Aufgaben schnell erledigen。本文将详细讲解如何verwenden`preg_match`ausHTMLExtrahieren Sie den Inhalt des angegebenen Tags aus dem Quellcode。

</span><span><span class="hljs-comment">## eins、lernenpreg_matchGrundnutzung von Funktionen</span></span><span>

`preg_match`JaPHPFunktionen, die verwendet werden, um eine regelmäßige Ausdrucksübereinstimmung durchzuführen,Die grundlegende Syntax ist wie folgt:

```php
</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$pattern</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$subject</span></span><span> , </span><span><span class="hljs-keyword">array</span></span><span> &amp;</span><span><span class="hljs-variable">$matches</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span> )
</span></span>
  • $ Muster : Regelmäßiger Ausdruck

  • $ Betreff : Die für die Suche nach (d. H. HTML -Quellcode) zu suchende Zeichenfolge)

  • $ Matches : Wenn das Spiel erfolgreich ist, wird das Matching -Ergebnis -Array zurückgegeben

Der Rückgabewert entspricht 1 erfolgreich und 0 , um nicht übereinstimmen.

2. Beispiel: Extrahieren Sie den <title> -T -Tag -Inhalt in HTML

Hier ist ein einfaches Beispiel, das zeigt, wie Sie den Inhalt aus dem <title> -Tag extrahieren:

 <span><span><span class="hljs-variable">$html</span></span><span> = </span><span><span class="hljs-string">'&lt;html&gt;&lt;head&gt;&lt;title&gt;这Ja网页标题&lt;/title&gt;&lt;/head&gt;&lt;body&gt;Inhalt&lt;/body&gt;&lt;/html&gt;'</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/&lt;title&gt;(.*?)&lt;\/title&gt;/i'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$html</span></span><span>, </span><span><span class="hljs-variable">$matches</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>]; </span><span><span class="hljs-comment">// Ausgabe:这Ja网页标题</span></span><span>
</span></span>

Erklärung des regulären Ausdrucks:

  • <titels> und </title> : Genau mit den Start- und End -Tags übereinstimmen

  • (.*?) : Der Inhalt in der Mitte des Nicht-Greedy-Muster-Matching

  • /i : ignorieren Sie den Fall

3. Was soll ich tun, wenn ich mehrere Tags extrahiere?

preg_match kann nur mit dem ersten passenden Inhalt übereinstimmen. Wenn Sie mehrere identische Tags anpassen möchten, z. B. mehrere <p> -absätze, müssen Sie die Funktion preg_match_all verwenden.

Beispiel:

 <span><span><span class="hljs-variable">$html</span></span><span> = </span><span><span class="hljs-string">'&lt;p&gt;第eins段&lt;/p&gt;&lt;p&gt;Absatz 2&lt;/p&gt;'</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/&lt;p&gt;(.*?)&lt;\/p&gt;/i'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">preg_match_all</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$html</span></span><span>, </span><span><span class="hljs-variable">$matches</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>]); </span><span><span class="hljs-comment">// Ausgabe:Array ( [0] =&gt; 第eins段 [1] =&gt; Absatz 2 )</span></span><span>
</span></span>

4.. Dinge zu beachten

  1. HTML -Verschachtelungsproblem : Regelmäßige Ausdrücke können verschachtelte Tags nicht korrekt analysieren, z .

  2. Sicherheit : Wenn Sie die von Benutzern eingegebene HTML -Verarbeitung durchführen, stellen Sie sicher, dass Sie die Sicherheitsverarbeitung durchführen, um XSS -Angriffe zu verhindern.

  3. Leistungsprobleme : Regelmäßig ist die Parsing-Effizienz in großflächigen HTML-Dokumenten gering. Es wird empfohlen, Domdocument in komplexen Strukturen zu verwenden.

5. Zusammenfassung

Das Extrahieren von HTML -Tag -Inhalten mit PREG_MATCH eignet sich hervorragend zum Umgang mit einfachen HTML -Strukturen. Es kann die Aufgaben schnell und effizient erledigen, wenn sie mit Seiten mit festen Inhalten und gut formatierten Inhalten befasst sind. Wenn jedoch komplexe oder verschachtelte HTML -Strukturen konfrontiert sind, sollten professionellere Parsingmethoden berücksichtigt werden. Das Mastering preg_match kann nicht nur Ihre regelmäßige Ausdrucksfähigkeit verbessern, sondern es auch ermöglicht, Textdaten in bestimmten Szenarien einfach zu verarbeiten.

 <span></span>
  • Verwandte Tags:

    HTML