Wie ordne ich URLs mithilfe regulärer Ausdrücke zu?

Patricia Arquette
Freigeben: 2024-10-22 08:45:03
Original
328 Leute haben es durchsucht

How to Match URLs Using Regular Expressions?

URLs mit regulären Ausdrücken abgleichen

Reguläre Ausdrücke können anfangs entmutigend sein, bieten aber leistungsstarke Mustervergleichsfunktionen für verschiedene Datentypen. Im Zusammenhang mit dem Extrahieren von URLs ist ein flexibles Muster erforderlich, um Variationen in URL-Formaten Rechnung zu tragen.

Ein robuster regulärer Ausdruck, der URLs mit oder ohne führende Protokolle erfassen kann (z. B. „http://www“ oder „ www") ist:

((https?|ftp)://)? // Optional SCHEME
([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)? // Optional User and Pass
([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3}))) // Host or IP address
(:[0-9]{2,5})? // Optional Port
(/([a-z0-9+$_%-]\.?)+)*/? // Path
(\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)? // Optional GET Query
(#[a-z_.-][a-z0-9+$%_.-]*)? // Optional Anchor
Nach dem Login kopieren

Um diesen Ausdruck in PHP zu verwenden, schließen Sie ihn in doppelte Anführungszeichen ein und übergeben Sie ihn zusammen mit der URL, die Sie auswerten möchten, an die Funktion preg_match. Zum Beispiel:

<code class="php">$url = 'www.example.com/etcetc';
if (preg_match("~^$regex$~i", $url)) {
    echo 'Matched URL without protocol';
}</code>
Nach dem Login kopieren

Ähnlich gilt für URLs mit Protokollen:

<code class="php">$url = 'http://www.example.com/etcetc';
if (preg_match("~^$regex$~i", $url)) {
    echo 'Matched URL with protocol';
}</code>
Nach dem Login kopieren

Dieses Muster sollte ein breites Spektrum an URL-Formaten abdecken und gleichzeitig vor potenziell böswilligen Eingaben schützen, die Zeichen wie „ /".

Das obige ist der detaillierte Inhalt vonWie ordne ich URLs mithilfe regulärer Ausdrücke zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!