Heim > Backend-Entwicklung > PHP-Tutorial > Regulärer PHP-Ausdruck in Aktion: passende URLs

Regulärer PHP-Ausdruck in Aktion: passende URLs

WBOY
Freigeben: 2023-06-22 19:12:01
Original
2235 Leute haben es durchsucht

PHP-Praxis für reguläre Ausdrücke: Abgleich von URLs

Mit der Popularität des Internets sind URLs zu einem unverzichtbaren Bestandteil des täglichen Lebens geworden. Beim Webdesign, beim Daten-Crawling usw. müssen wir häufig reguläre Ausdrücke verwenden, um URLs abzugleichen. In diesem Artikel konzentrieren wir uns darauf, wie reguläre Ausdrücke in PHP zum Abgleichen von URLs verwendet werden können.

Die Grundstruktur einer URL

Lassen Sie uns zunächst die Grundstruktur einer URL verstehen. Im Allgemeinen besteht eine URL aus den folgenden Teilen:

Protokollname: http, https usw.
Hostname: Domänenname oder IP-Adresse
Portnummer: 80, 8080 usw. (optional)
Pfad: zeigt auf spezifischer Ort der Seite (optional)
Abfragezeichenfolge: Parameter, die während der GET-Anfrage übergeben werden (optional)
Fragment: Anker, der auf einen bestimmten Ort innerhalb der Seite zeigt (optional)

Ein paar Beispiele:

http://www. example.com:8080/index.html?id=1#top
https://192.168.1.1/aboutUs.html
https://www.google.com/search?q=php+regular+expression
ftp: //ftp.example.com/public/files/manual.pdf

Die obigen Beispiele umfassen verschiedene Protokolle, Hostnamen, Portnummern, Pfade, Abfragezeichenfolgen und Fragmente.

Das Konzept des regulären Ausdrucks

Regulärer Ausdruck ist ein String-Matching-Mechanismus, mit dem mehrere Arten von Informationen abgeglichen werden können. Reguläre Ausdrücke bestehen normalerweise aus einigen Sonderzeichen, gewöhnlichen Zeichen, Klammern und anderen Parametern, mit denen die Anzahl, Position und Art der Zeichen angegeben werden können. In PHP können wir die Funktion preg_match() verwenden, um reguläre Ausdrücke abzugleichen.

Erstellen Sie einen einfachen regulären Ausdruck

Nachdem wir die oben genannten Grundkonzepte verstanden haben, können wir einen einfachen regulären Ausdruck erstellen, der der URL entspricht. Das Folgende ist ein konkretes Beispiel:

$pattern = '/^((http|https|ftp)://)?[a-z0-9-]+(.[a-z0-9-]+)+ ( [/?#:][^s]*)?$/';
$url = 'http://www.example.com/index.html?id=1';

preg_match($pattern, $ url , $matches);
print_r($matches);

Im obigen Beispiel haben wir einen regulären Ausdruck $pattern definiert, um die URL abzugleichen, und dann die Funktion preg_match() zum Abgleichen verwendet. Abschließend werden die passenden Ergebnisse ausgedruckt.

Code analysieren

Regulärer Ausdruck besteht aus zwei Teilen, nämlich: Grundstruktur und passendem Teil jeder Komponente wie Protokollname, Hostname, Pfad usw. Lassen Sie uns sie unten einzeln erklären.

Grundstruktur: '^((http|https|ftp)://)?'

  • '^' bedeutet Übereinstimmung mit dem Zeilenanfang
  • 'http|https|ftp' bedeutet Übereinstimmung mit http, https oder ftp Protokoll
  • „://“ bedeutet, dass zwei Zeichen übereinstimmen: „://“, was das Trennzeichen zwischen dem Protokollnamen und dem Hostnamen ist.
  • „?“ bedeutet, dass der vorherige Inhalt optional ist (da einige URLs möglicherweise nicht vorhanden sind). ein Protokollname)

Protokollname: '(http|https|ftp)://'

Hostname: '[a-z0-9-]+(.[a-z0-9-]+)+ '

  • '[ a-z0-9-]+' bedeutet übereinstimmende Zeichen oder Zahlen oder '-' im Domainnamen, mindestens einmal übereinstimmend
  • '(.[a-z0-9-]+)+' bedeutet, dass der . und der Domänenname nach dem Domänennameninhalt übereinstimmen, mindestens einmal übereinstimmen

Pfad, Abfragezeichenfolge und Fragment: '([/?#:]1*)?'

  • '[/ ?#:]' entspricht dem Pfad, der Abfragezeichenfolge oder verschiedenen Sonderzeichen vor dem Fragment, z. B. '/', '?', '#', ':'
  • '2' bedeutet jedes Zeichen außer Leerzeichen, „*“ bedeutet, dass der vorherige Inhalt beliebig oft abgeglichen wird (optional)

Zusammenfassend lässt sich sagen, dass der obige reguläre Ausdruck mit jedem URL-Typ übereinstimmen kann. Zu beachten ist, dass wir in der tatsächlichen Entwicklung möglicherweise die Regeln regulärer Ausdrücke entsprechend den spezifischen Anforderungen ändern oder erweitern müssen.

Zusammenfassung

Reguläre Ausdrücke werden in PHP häufig verwendet und können zum Zuordnen und Überprüfen von Zeichen, Zahlen, E-Mails, Telefonnummern und anderen Arten von Informationen verwendet werden. Der obige Artikel stellt vor, wie URLs mithilfe regulärer Ausdrücke abgeglichen werden, und führt außerdem kurz in die Grundkonzepte regulärer Ausdrücke ein. Ich hoffe, dass die Leser ein tieferes Verständnis für die Anwendung regulärer Ausdrücke erhalten.


  1. s
  2. s

Das obige ist der detaillierte Inhalt vonRegulärer PHP-Ausdruck in Aktion: passende URLs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage