Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich URLs mithilfe von PHP und regulären Ausdrücken effizient aus Text extrahieren?

Wie kann ich URLs mithilfe von PHP und regulären Ausdrücken effizient aus Text extrahieren?

DDD
DDDOriginal
2024-12-14 12:59:14153Durchsuche

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

Effiziente URL-Extraktion aus Text in PHP

Abfrage

Extrahieren Sie URLs aus dem folgenden Text insbesondere mithilfe regulärer Ausdrücke preg_match():

$string = "this is my friend's website http://example.com I think it is coll";

Antwort

Um die URL aus der bereitgestellten Zeichenfolge zu extrahieren, ist die Nutzung regulärer Ausdrücke ein geeigneter Ansatz. Ein effektives Regex-Muster ist:

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

Dieser Regex gleicht gültige URLs ab, indem er sicherstellt, dass sie mit „http“ oder „https“ beginnen, eine Domäne ohne Leerzeichen oder Sonderzeichen enthalten und optional Parameter oder Pfadinformationen enthalten.

Es gibt jedoch eine Einschränkung, die berücksichtigt werden muss. Fehlerhafte URLs wie „http://google:ha.ckers.org“ werden durch dieses Muster möglicherweise nicht vollständig herausgefiltert.

Alternativ können Sie die folgende WordPress-Funktion verwenden:

make_clickable($string);

Diese Funktion wurde speziell für die Konvertierung von reinem Text in formatierte Zeichenfolgen mit anklickbaren URLs entwickelt und bietet eine robuste Methode zur URL-Extraktion.

Das obige ist der detaillierte Inhalt vonWie kann ich URLs mithilfe von PHP und regulären Ausdrücken effizient aus Text 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