Bevor Sie mir sagen, dass ich parse_url
verwenden soll, ist es nicht annähernd gut genug und hat zu viele Fehler. Es gibt viele Fragen zum Thema Parsing-URLs, die hier zu finden sind, aber fast alle analysieren nur bestimmte URL-Klassen oder sind auf andere Weise unvollständig.
Ich suche nach einem definitiven RFC-kompatiblen URL-Parser in PHP, der zuverlässig alle URLs verarbeitet, die ein Browser wahrscheinlich findet. Darin schließe ich ein:
#
, #title
blah/thing.php
/blah/thing.php
//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js
callto:+442079460123
file:///Users/me/thisfile.txt
mailto:[email protected]?subject=hello
, mailto:?subject=hello
und Unterstützung für alle üblichen Schema / Authentifizierung / Domain / Pfad / Abfrage / Fragment usw., und brechen Sie alle diese Elemente in ein Array mit zusätzlichen Flags für relative / schemaless URLs. Im Idealfall würde es einen URL-Reconstructor (wie http_build_url) geben, der die gleichen Elemente unterstützt, und ich möchte auch, dass die Validierung angewendet wird (dh sie sollte eine URL, die ungültig ist, bestmöglich erraten, aber markieren als solche, wie Browser tun.)
Diese Antwort enthielt einen verlockenden Fermat-ähnlichen Hinweis auf ein solches Biest, aber es geht eigentlich nirgendwohin.
Ich habe in allen wichtigen Frameworks nachgesehen, aber sie scheinen nur dünne Wrapper um parse_url zu bieten, was normalerweise ein schlechter Start ist, da es so viele Fehler macht.
Also, existiert so etwas?
Nicht sicher, wie viele Fehler parse_url()
hat, aber das könnte helfen:
%Vor%Da der "First-Match-Wins" -Algorithmus identisch ist mit dem "Greedy" Disambiguierungsmethode, die von regulären POSIX-Ausdrücken verwendet wird Natürlich und alltäglich, um einen regulären Ausdruck für die Analyse der potenzielle fünf Komponenten einer URI-Referenz.
Die folgende Zeile ist der reguläre Ausdruck für das Zerlegen von a wohlgeformte URI-Referenz in seine Komponenten.
Quelle: Ссылка
Es teilt den Ort als:
%Vor%Zum Neuaufbau könnten Sie Folgendes verwenden:
%Vor%Tags und Links php url validation