Heim >Backend-Entwicklung >C++ >Wie extrahiere ich href-Werte aus Tags mithilfe regulärer Ausdrücke?

Wie extrahiere ich href-Werte aus Tags mithilfe regulärer Ausdrücke?

Linda Hamilton
Linda HamiltonOriginal
2025-01-10 06:19:40704Durchsuche

How to Extract href Values from  Tags Using Regular Expressions?

Verwenden Sie reguläre Ausdrücke, um den „href“-Wert des <a>-Links zu ermitteln

Das Extrahieren von Links aus HTML kann normalerweise mit einem einfachen Muster wie „(?>.?)“ erfolgen. Diese Methode ist jedoch unzureichend, wenn versucht wird, gezielt das Attribut „href“ abzurufen.

Um dieses Problem zu lösen, können wir einen präziseren regulären Ausdruck verwenden, um den „href“-Wert innerhalb des <a>-Tags zu finden. Hier ist ein gültiges Muster:

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

Dieser reguläre Ausdruck funktioniert folgendermaßen:

  • Suchen Sie den ersten Tag <a>.
  • Optional entspricht jedem Attribut oder Leerzeichen vor dem „href“-Attribut.
  • Erfassen Sie das Startzitat (einfach oder doppelt).
  • Entspricht allen Zeichen zwischen Anführungszeichen und erfasst sie als Gruppe (einschließlich verknüpfter URLs).
  • Stellen Sie sicher, dass das Schlusszitat mit dem Eröffnungszitat übereinstimmt.

Mit diesem regulären Ausdruck können Sie den „href“-Wert aus einem Link wie diesem extrahieren:

<code><a ....="" href="https://www.php.cn/link/3d7a8f67f51564c349478f7d52abee3b"></a>
<a ....="" href="http://https://www.php.cn/link/3d7a8f67f51564c349478f7d52abee3b"></a>
<a ....="" href="https://https://www.php.cn/link/3d7a8f67f51564c349478f7d52abee3b"></a></code>

Es ist jedoch wichtig zu beachten, dass dieser reguläre Ausdruck auch mit Links übereinstimmt, die nicht die erforderlichen Zeichen „?“ und „=“ enthalten. Wenn dies ein Problem darstellt, ist möglicherweise eine zusätzliche Filterung erforderlich.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich href-Werte aus Tags mithilfe regulärer Ausdrücke?. 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