In PHP, was ist die empfohlene Methode für den Abgleich aller URLs in einem Textkörper (dh ein Formular $ _POST textarea im Gegensatz zu einem 'Wort' String) bitte?Methode zum Abgleichen von URLs im Text
Ich bin auf der Suche nach einer Methode, die die große Mehrheit der URLs entspricht, nicht eine super Standards-konforme Catch-All. Beispiele, die Ich mag passen:
- http://www.google.com
- http://google.com
- www.google.com
- google.com
- eine der oben mit verschiedenen Abfragedaten (dh/foo = bar?)
Idealerweise werden die Ergebnisse in ein assoziatives Array eingefügt.
Ich verstehe, dass parse_url nicht gut geeignet ist. Und ich habe gehört, dass die Verwendung einer Regex mit Problemen behaftet ist. Aber ich habe auch gehört, dass filter_var erhebliche Probleme hat, nicht zuletzt, dass ein Schema erforderlich ist. Welche Technik verwenden Sie alle?
Danke
Regex für das richtige sein sollte. "Google.com" könnte jedoch zu vielen Fehlalarmen führen. Sie sollten eine Übereinstimmung mit einer Liste gültiger TLDs in Betracht ziehen. –