Heim > Backend-Entwicklung > PHP-Tutorial > Wie erkennt man URLs unterschiedlicher Formate mithilfe regulärer Ausdrücke?

Wie erkennt man URLs unterschiedlicher Formate mithilfe regulärer Ausdrücke?

Susan Sarandon
Freigeben: 2024-10-22 08:45:30
Original
657 Leute haben es durchsucht

How to Detect URLs of Varying Formats Using Regular Expressions?

Erkennen von URLs mit unterschiedlichen Formaten mithilfe regulärer Ausdrücke

Reguläre Ausdrücke bieten eine leistungsstarke Möglichkeit, Daten aus komplexen Zeichenfolgen, einschließlich URLs, zu extrahieren. Unabhängig davon, ob Sie mit URLs arbeiten, die „http://www“-Präfixe enthalten oder nicht, kann ein umfassender regulärer Ausdruck Ihren Anforderungen gerecht werden.

Der folgende Ausdruck wurde so erstellt, dass er URLs mit und ohne „http“ zuordnet Präfix „://www“:

((https?|ftp)://)?([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)?([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))(:[0-9]{2,5})?(/([a-z0-9+$_%-]\.?)+)*/?(\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)?(#[a-z_.-][a-z0-9+$%_.-]*)?
Nach dem Login kopieren

Dieser Ausdruck enthält die folgenden Komponenten:

  • Schema: „(https?|ftp)://“
  • Benutzer und Passwort: "([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)"
  • Host oder IP-Adresse: "([a-z0-9-.]*).(([a-z]{2,4})|([0-9]{1 ,3}.([0-9]{1,3}).([0-9]{1,3})))"
  • Port: "(:[0-9]{2 ,5})?"
  • Pfad: "(/([a-z0-9 $_%-].?) )*/?"
  • GET-Abfrage: "(?a-z &$_.-*)?"
  • Anker: "(#a-z_.-*)?"

Um diesen Ausdruck zu verwenden, können Sie den folgenden PHP-Code verwenden :

if(preg_match("~^$regex$~i", 'www.example.com/etcetc', $m))
    var_dump($m);

if(preg_match("~^$regex$~i", 'http://www.example.com/etcetc', $m))
    var_dump($m);
Nach dem Login kopieren

Dieser Code stimmt erfolgreich mit beiden URLs überein, unabhängig davon, ob das Präfix „http://www“ vorhanden ist.

Das obige ist der detaillierte Inhalt vonWie erkennt man URLs unterschiedlicher Formate mithilfe regulärer Ausdrücke?. 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