Heim > Backend-Entwicklung > PHP-Tutorial > So überprüfen Sie die Legitimität einer URL mithilfe regulärer PHP-Ausdrücke

So überprüfen Sie die Legitimität einer URL mithilfe regulärer PHP-Ausdrücke

PHPz
Freigeben: 2023-06-24 10:00:01
Original
1629 Leute haben es durchsucht

In der modernen Webentwicklung ist URL bereits ein sehr wichtiges Konzept. In unseren Websites und Webanwendungen können URLs verwendet werden, um den Standort von Ressourcen zu identifizieren, und in vielen Fällen müssen illegale URLs verarbeitet werden. In diesem Artikel wird erläutert, wie Sie reguläre PHP-Ausdrücke verwenden, um die Legitimität von URLs zu überprüfen.

Zuerst müssen wir verstehen, was eine URL ist. URL ist die Abkürzung für Uniform Resource Locator (Uniform Resource Locator), mit der Ressourcen im Internet eindeutig identifiziert und beschrieben werden. Die URL enthält mehrere Komponenten wie Protokoll, Hostname, Pfad usw. Das Format einer vollständigen URL ist normalerweise wie folgt:

protocol://hostname[:port]/path[?query][#fragment]
Nach dem Login kopieren

Darunter sind das Protokoll, der Hostname und der Pfad erforderliche Teile, und die anderen Teile sind optional. Als nächstes stellen wir vor, wie man reguläre PHP-Ausdrücke verwendet, um die Legitimität von URLs zu überprüfen.

Der erste Schritt besteht darin, einen regulären Ausdruck zu erstellen, der dem Format der URL entspricht. Da die Formate verschiedener URLs sehr unterschiedlich sind, müssen wir einen entspannteren regulären Ausdruck entwerfen. Hier ist ein Referenzbeispiel:

$pattern = '@^(https?|ftp)://[^s/$.?#].[^s]*$@i';
Nach dem Login kopieren

Die Bedeutung des obigen regulären Ausdrucks besteht darin, dass die URL mit einem Protokoll beginnen muss , http, https oder ftp, gefolgt vom Symbol „://“. Als nächstes folgen Sie dem Hostnamen. Sonderzeichen wie Leerzeichen, $, ?, # usw. dürfen im Hostnamen nicht vorkommen. Schließlich darf am Ende der gesamten URL kein Leerzeichen stehen, daher verwenden wir s zur Darstellung eines Leerzeichens und * zur Darstellung eines beliebigen Zeichens.

Als nächstes müssen wir Code schreiben, um den gerade erstellten regulären Ausdruck zu verwenden, um die Gültigkeit der URL zu überprüfen. Das Folgende ist ein Beispielcode:

function validateUrl($url) {
    $pattern = '@^(https?|ftp)://[^s/$.?#].[^s]*$@i';
    return preg_match($pattern, $url);
}
Nach dem Login kopieren

Im obigen Code erfordert die Funktion „validateUrl“ einen Parameter $url, bei dem es sich um die URL handelt, die überprüft werden muss. Die Funktion preg_match wird innerhalb der Funktion verwendet, um zu prüfen, ob die URL mit dem gerade erstellten regulären Ausdruck übereinstimmt. Wenn die Übereinstimmung erfolgreich ist, wird 1 zurückgegeben, andernfalls wird 0 zurückgegeben.

Abschließend müssen wir bei Verwendung des obigen Codes nur die Funktion „validateUrl“ aufrufen, um die Legitimität der URL zu erkennen. Das Folgende ist ein Testbeispiel:

$url1 = "http://www.example.com/path";
if (validateUrl($url1)) {
    echo "URL $url1 合法。
";
} else {
    echo "URL $url1 不合法。
";
}

$url2 = "http://www.example.com/path with space";
if (validateUrl($url2)) {
    echo "URL $url2 合法。
";
} else {
    echo "URL $url2 不合法。
";
}
Nach dem Login kopieren

Im obigen Code haben wir zwei URLs getestet: $url1 und $url2. Die erste URL ist legal und enthält keine Sonderzeichen und Leerzeichen. Die zweite URL enthält Leerzeichen und ist illegal. Das Programm bestimmt anhand des Rückgabewerts der Funktion „validateUrl“, ob die URL zulässig ist.

Zusammenfassend stellt dieser Artikel vor, wie man reguläre PHP-Ausdrücke verwendet, um die Legitimität von URLs zu überprüfen. Das Problem der URL-Validierung lässt sich gut lösen, indem man einen losen regulären Ausdruck erstellt und die Funktion preg_match aufruft, um zu prüfen, ob die URL dem Format entspricht.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die Legitimität einer URL mithilfe regulärer PHP-Ausdrücke. 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