Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mithilfe regulärer Ausdrücke URLs aus Text in PHP extrahieren?

Wie kann ich mithilfe regulärer Ausdrücke URLs aus Text in PHP extrahieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-20 21:04:14476Durchsuche

How Can I Extract URLs from Text in PHP Using Regular Expressions?

Extrahieren von URLs aus Text in PHP mithilfe regulärer Ausdrücke

Im Kontext der PHP-Programmierung kann das Extrahieren von URLs aus Text durch erreicht werden reguläre Ausdrücke, insbesondere mit der Funktion preg_match(). Hier ist eine detaillierte Erklärung:

Reguläre Ausdrücke mit preg_match() verwenden

Die Funktion preg_match() benötigt zwei Parameter:

  • Muster: Der reguläre Ausdruck, mit dem abgeglichen werden soll Text.
  • Zeichenfolge: Der zu durchsuchende Text.

In diesem Fall müssen wir einen regulären Ausdruck erstellen, der mit URLs übereinstimmt. Hier ist ein Beispielmuster:

#\bhttps?://[^\s()<>]+(?:([\w\d]+)|([^[:punct:]\s]|/))#

Dieses Muster erfasst URLs im folgenden Format:

  • Beginnt mit dem Protokoll „http“ oder „https“.
  • Entspricht einem Domänennamen oder einer IP-Adresse.
  • Kann eine optionale Portnummer haben oder Pfad.

Anwenden des regulären Ausdrucks

Um die URL aus dem bereitgestellten Text zu extrahieren, verwenden Sie den folgenden Code:

preg_match_all('#\bhttps?://[^\s()<>]+(?:([\w\d]+)|([^[:punct:]\s]|/))#', $string, $match);

wobei $string den zu durchsuchenden Text enthält.

Zugriff auf das Erfasste URL

Die Ergebnisse des regulären Ausdrucksabgleichs werden im $match-Array gespeichert. Die URL wird in der ersten Gruppe erfasst, auf die wie folgt zugegriffen werden kann:

$url = $match[1][0];

Beachten Sie, dass dieser reguläre Ausdruck immer noch Einschränkungen bei der Verarbeitung bestimmter fehlerhafter URLs aufweist. Für komplexere Szenarien können alternative Ansätze wie die Verwendung der Funktion wp-includes/formatting.php von WordPress erforderlich sein.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe regulärer Ausdrücke URLs aus Text in PHP 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