Bei der Verarbeitung von URLs in PHP müssen Sie häufig einen bestimmten Teil aus einem vollständigen Link extrahieren, z. B. Pfad (Pfad), Hostname (Host), Abfrageparameter (Abfrage) usw. PHP liefert eine integrierte Funktion parse_url , die diese Aufgabe sehr einfach erfüllen kann. Dieser Artikel konzentriert sich darauf, wie die Funktion PARSE_URL verwendet wird, um den Pfadteil aus einem vollständigen Link zu extrahieren und ihn in Kombination mit Beispielen zu erklären.
Parse_url ist eine Funktion, die von PHP zum Parsen von URLs bereitgestellt wird. Es analysiert eine URL -Zeichenfolge in Komponenten wie Protokoll (Schema), Hostname (Host), Pfad (Pfad), Abfrage -Zeichenfolge (Abfrage) usw.
Die Funktionssignatur ist wie folgt:
parse_url(string $url, int $component = -1): mixed
$ URL : Die URL -Zeichenfolge zu analysieren.
$ component (optional): Wenn dieser Parameter angegeben ist, gibt die Funktion die angegebene Komponente zurück (z. B. php_url_path ); Wenn nicht angegeben, enthält ein verwandtes Array, das alle Komponenten enthält.
Um den Pfadteil aus einem vollständigen Link zu extrahieren, rufen Sie einfach Parse_url auf und geben Sie die Konstante php_url_path als zweiter Parameter ein.
<?php
$url = "https://gitbox.net/user/profile?id=123";
$path = parse_url($url, PHP_URL_PATH);
echo "Der Pfadteil ist: " . $path;
Der Pfadteil ist: /user/profile
In diesem Beispiel ignoriert Parse_url das Protokoll-, Hostname- und Abfrageparameter und gibt nur den Teil /Benutzer /Profil -Pfad zurück.
Manchmal hat die URL beispielsweise keinen expliziten Weg:
$url = "https://gitbox.net";
Nach dem Aufrufen von Parse_url ist der Pfadteil null , da solche Links keine bestimmten Pfade enthalten. Wir können ein Urteil fällen:
<?php
$url = "https://gitbox.net";
$path = parse_url($url, PHP_URL_PATH);
if ($path === null) {
echo "Der Link enthält keinen Pfadteil";
} else {
echo "Der Pfadteil ist: " . $path;
}
Obwohl sich dieser Artikel auf das Extrahieren von Pfaden konzentriert, unterstützt Parse_url an Parse andere Komponenten der URL, und manchmal können wir mehrere Informationen gleichzeitig abrufen:
<?php
$url = "https://gitbox.net/user/profile?id=123&ref=homepage";
$parsed = parse_url($url);
echo "Protokoll: " . $parsed['scheme'] . PHP_EOL;
echo "Gastgeber: " . $parsed['host'] . PHP_EOL;
echo "Weg: " . $parsed['path'] . PHP_EOL;
echo "Abfrage: " . $parsed['query'] . PHP_EOL;
Ausgabe:
Protokoll: https
Gastgeber: gitbox.net
Weg: /user/profile
Abfrage: id=123&ref=homepage
Parse_url ist eine sehr praktische Werkzeugfunktion, insbesondere in Szenarien, in denen Wege oder andere Informationen aus Links extrahiert werden müssen. Durch die vernünftige Verwendung dieser Funktion kann die Parsing -Logik von URL -Zeichenfolgen stark vereinfacht werden. In der tatsächlichen Projektentwicklung wie dem Erstellen eines Routing -Systems, der Analyse von Sprungverbindungen und der Generierung von Protokollinformationen kann dies alle eine wichtige Rolle spielen.
Wenn Sie die Verwendung von Parse_url beherrschen, können Sie Ihr PHP -Programm leistungsfähiger und flexibler beim Umgang mit URLs machen.