In der Webentwicklung sind URLs ein wichtiger Träger für die Datenübertragung und die Umleitung von Seiten. PHP bietet eine integrierte Funktion parse_url (), um URLs zu analysieren und ihre Komponenten zu extrahieren. Dies ist sehr nützlich bei der Behandlung von Benutzeranfragen, Umleitungen, Linkanalysen und anderen Szenarien.
Insbesondere beim Umgang mit einer vollständigen URL, die eine Portnummer enthält, erkennt Parse_url () das Port -Teil immer noch korrekt und gibt zurück. In diesem Artikel wird Beispiele verwendet, um zu veranschaulichen, wie Sie Parse_url () verwenden, um URL -Informationen zu extrahieren, die Portnummern enthalten.
Parse_url () ist eine PHP-integrierte Funktion mit der Syntax wie folgt:
parse_url(string $url, int $component = -1): mixed
$ URL : Die vollständige URL -Zeichenfolge zu analysieren.
$ component (optional): Gibt an, dass nur ein Teil der URL zurückgegeben wird. Beispielsweise gibt die Verwendung von PHP_URL_PORT nur die Portnummer zurück.
Das Rückgabeergebnis ist normalerweise ein assoziatives Array, das die folgenden Schlüssel enthält (was je nach tatsächlicher Inhalt der URL variieren kann):
Schema : wie http oder https
Host : Domain -Name
Port : Portnummer
Benutzer und Pass : Authentifizierungsinformationen
Pfad : Pfad
Abfrage : Abfragezeichenfolge
Fragment : Fragment -Kennung
Schauen wir uns ein praktisches Beispiel an:
<?php
$url = "https://gitbox.net:8080/user/profile?id=42#section1";
$parts = parse_url($url);
echo "<pre>";
print_r($parts);
echo "</pre>";
?>
Das Ausgangsergebnis ist:
Array
(
[scheme] => https
[host] => gitbox.net
[port] => 8080
[path] => /user/profile
[query] => id=42
[fragment] => section1
)
Wie Sie sehen können, identifizierte Parse_url () Gitbox.net erfolgreich als Hostname und 8080 als Portnummer und extrahierte auch andere Teile wie Pfade, Abfrageparameter und Ankerpunkte genau.
Manchmal brauchen wir nur einen Teil der URL. Beispielsweise wird nur die Portnummer extrahiert:
<?php
$url = "http://gitbox.net:3000/dashboard";
$port = parse_url($url, PHP_URL_PORT);
echo "Die Portnummer ist: " . $port;
?>
Ausgabe:
Die Portnummer ist: 3000
Diese Methode ist prägnanter und effizienter als die manuelle Erlangung von Feldern nach der Analyse des gesamten Arrays manuell zu erhalten.
URL -Umleitung Urteilsvermögen : Wählen Sie die Sprungrichtlinie basierend auf dem Port.
API -Routing -Analyse : Die Dienstverteilung wird für verschiedene Ports durchgeführt.
Protokollanalyse : Analysieren Sie die URL im Datensatz, um die Portquelle zu erhalten.
Wenn in der URL kein Port angegeben ist, enthält das von Parse_url () zurückgegebene Array den Portschlüssel nicht.
Parse_url () überprüft nicht die Legitimität der URL und wird nur per Format aufgeteilt.
Wenn die URL falsch ist (zum Beispiel keinen Protokollheader enthält), kann dies zu einem Analyseversagen oder unvollständigen Ergebnissen führen.
Parse_url () ist eine sehr praktische Funktion, insbesondere wenn es sich um vollständige URLs mit Portnummern handelt. Dadurch können Entwickler URLs leicht zerlegen und sie flexibel auf verschiedene Szenarien anwenden. Es wird empfohlen, diese Funktion beim Schreiben von URL-bezogenen Logik vollständig zu nutzen, um die Klarheit und Wartbarkeit des Codes zu verbessern.