Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich URLs mithilfe von PHP und regulären Ausdrücken effizient aus Text extrahieren?
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!