Heim >Backend-Entwicklung >PHP-Tutorial >So überprüfen Sie mithilfe regulärer PHP-Ausdrücke, ob die Eingabezeichenfolge das richtige URL-Format hat

So überprüfen Sie mithilfe regulärer PHP-Ausdrücke, ob die Eingabezeichenfolge das richtige URL-Format hat

WBOY
WBOYOriginal
2023-06-24 09:28:251907Durchsuche

Im heutigen Internetzeitalter sind Websites zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Für jede Website ist ihre URL die grundlegendste Komponente. Es gibt jedoch viele Formate für URLs. Einige beginnen mit http:// oder https://, andere beginnen mit www. und andere beginnen mit einem Domänennamen der zweiten Ebene. Wie kann man also mit regulären PHP-Ausdrücken überprüfen, ob die Eingabezeichenfolge das richtige URL-Format hat? Wir könnten es genauso gut herausfinden.

1. Reguläre Ausdrücke verstehen

Reguläre Ausdrücke sind ein leistungsstarkes Textverarbeitungstool, das uns dabei helfen kann, bestimmte Zeichenfolgen abzugleichen und zu extrahieren. In PHP können reguläre Ausdrücke mit der Funktion preg_match() ausgeführt werden. Wenn wir überprüfen möchten, ob eine Zeichenfolge einem bestimmten Format entspricht, müssen wir reguläre Ausdrücke verwenden.

2. Reguläre Ausdrücke zur Überprüfung des URL-Formats

In PHP können wir reguläre Ausdrücke verwenden, um zu überprüfen, ob eine Zeichenfolge dem URL-Format entspricht. Das Folgende ist ein einfacher regulärer Ausdruck im URL-Format:

/^((https|http|ftp|rtsp|mms)?://)[^s]+/

Dieser reguläre Ausdruck stimmt mit URL-Formaten überein, die mit http, https, ftp, rtsp, mms und anderen Protokollen beginnen. Wenn Sie überprüfen möchten, dass die URL nur mit einem angegebenen Protokoll beginnen kann, können Sie (https|http|ftp|rtsp|mms) im regulären Ausdruck in ein beliebiges Protokoll ändern.

3. Den regulären Ausdruck weiter optimieren

Obwohl der obige reguläre Ausdruck mit den meisten URL-Mustern übereinstimmen kann, weist er immer noch viele Mängel auf. Es kann beispielsweise nicht mit Domänennamen der zweiten Ebene übereinstimmen, sondern nur mit Domänennamen der dritten Ebene und höher. Deshalb müssen wir optimieren.

Das Folgende ist ein vollständigerer regulärer Ausdruck im URL-Format:

/^((https|http|ftp|rtsp|mms)?://)[^s]+.[^s]{2,}|(www.)[^s]+.[^s]{2,}$/i

Dieser reguläre Ausdruck kann mit den folgenden URL-Typen übereinstimmen:

  • http://www.example.com
  • https://www.example com
  • ftp://www.example.com
  • rtsp://www.example.com
  • mms://www.example.com
  • www.example.com
  • xxx.example.com (zwei Level Domänenname)

Es ist zu beachten, dass bei diesem regulären Ausdruck die Groß-/Kleinschreibung nicht beachtet wird, d. h. /i bedeutet, dass die Groß-/Kleinschreibung nicht berücksichtigt wird.

4. Verwenden Sie die Funktion preg_match(), um das URL-Format zu überprüfen.

Da wir nun den regulären Ausdruck haben, besteht der nächste Schritt darin, die Funktion preg_match() in PHP zu verwenden, um zu überprüfen, ob eine Zeichenfolge dem URL-Format entspricht.

$url = 'http://www.example.com';
$pattern = '/^((https|http|ftp|rtsp|mms)?://)[^s]+.[^s]{2,}|(www.)[^s]+.[^s]{2,}$/i';
if (preg_match($pattern, $url)) {
    echo '字符串符合网址格式';
} else {
    echo '字符串不符合网址格式';
}

Im obigen Code ist $url die zu überprüfende Zeichenfolge und $pattern der reguläre Ausdruck im URL-Format. Wenn $string dem URL-Format entspricht, entspricht die Ausgabezeichenfolge dem URL-Format, andernfalls entspricht die Ausgabezeichenfolge nicht dem URL-Format.

5. Zusammenfassung

Regulärer Ausdruck ist ein sehr leistungsfähiges Textverarbeitungstool, das uns helfen kann, bestimmte Zeichenfolgen schnell abzugleichen und zu extrahieren. Wenn wir PHP zur Überprüfung des URL-Musters verwenden, können wir zur Vervollständigung die Funktion preg_match() und den regulären Ausdruck des URL-Musters verwenden. Um die Genauigkeit regulärer Ausdrücke zu verbessern, müssen wir sie gleichzeitig kontinuierlich optimieren und verbessern, damit sie komplexeren URL-Mustern entsprechen.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie mithilfe regulärer PHP-Ausdrücke, ob die Eingabezeichenfolge das richtige URL-Format hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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