Heim >Backend-Entwicklung >C++ >Wie kann ich mithilfe regulärer Ausdrücke href-Werte aus HTML-Links extrahieren?

Wie kann ich mithilfe regulärer Ausdrücke href-Werte aus HTML-Links extrahieren?

Susan Sarandon
Susan SarandonOriginal
2025-01-10 08:12:41297Durchsuche

How Can I Extract href Values from HTML Links Using Regular Expressions?

Verwenden regulärer Ausdrücke zum Extrahieren von href-Werten aus HTML-Links

Während für robustes HTML-Parsing im Allgemeinen ein dedizierter HTML-Parser empfohlen wird, kann für einfachere Szenarien ein Ansatz mit regulären Ausdrücken verwendet werden. Diese Lösung extrahiert href-Werte und verarbeitet sowohl einfache als auch doppelte Anführungszeichen:

<code><a\s+(?:[^>]*?\s+)?href=("|')(.+?)</code>

Erklärung:

  • <as : Entspricht dem öffnenden <a>-Tag, gefolgt von optionalem Leerzeichen.
  • (?:[^>]*?s )?: Entspricht optional allen anderen Attributen und Leerzeichen vor href. Das ?: macht dies zu einer nicht erfassenden Gruppe.
  • href=("|'): Entspricht dem Attribut href, gefolgt von einem einfachen oder doppelten Anführungszeichen. Das Zitat wird in Gruppe 1 erfasst.
  • (. ?): Erfasst den href-Wert selbst (Gruppe 2).
  • 1: Entspricht dem Schlusszitat (dasselbe wie das in Gruppe 1 erfasste Eröffnungszitat).

Wichtige Überlegungen:

Dieser reguläre Ausdruck ist kein vollständiger HTML-Parser. Es schlägt bei fehlerhaftem oder komplexem HTML fehl. Es eignet sich am besten für vorverarbeitete, vereinfachte HTML-Schnipsel. Verwenden Sie es beispielsweise für eine Liste extrahierter href-Attribute wie folgt: href="mylink.com"

Filtern nach bestimmten Linktypen:

Um Links zu filtern, die sowohl ein Fragezeichen (?) als auch ein Gleichheitszeichen (=) enthalten, verwenden Sie diesen verfeinerten regulären Ausdruck:

<code>href=(.*?)\?(.*?)=(.*?)</code>

Dadurch wird sichergestellt, dass nur Links mit den angegebenen Merkmalen ausgewählt werden. Denken Sie daran, dass komplexe HTML-Strukturen für zuverlässige Ergebnisse einen dedizierten HTML-Parser erfordern.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe regulärer Ausdrücke href-Werte aus HTML-Links extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn