Heim  >  Artikel  >  Backend-Entwicklung  >  So analysieren Sie parse_url-Parameter im Array parse_str

So analysieren Sie parse_url-Parameter im Array parse_str

小云云
小云云Original
2017-11-27 09:37:511998Durchsuche

Die aktuelle URL wird über PHP abgerufen. Was soll ich tun, wenn ich die Parameter in der URL extrahieren muss? Dieser Vorgang ist eigentlich recht einfach und kann mit zwei integrierten Funktionen von PHP, nämlich den Funktionen parse_url und parse_str, erfolgreich abgeschlossen werden. Im Folgenden werden diese beiden Funktionen kurz beschrieben und anhand von Beispielen veranschaulicht, wie die Parameter in der URL extrahiert werden.

(1) parse_url (PHP 4, PHP 5) – Analysieren Sie die URL und geben Sie ihre Komponenten zurück. Der Funktionsprototyp lautet wie folgt:

mixed parse_url ( string $url [, int $component = -1 ] )

Diese Funktion analysiert eine URL und gibt ein assoziatives Array zurück, das die verschiedenen Komponenten enthält, die in der URL erscheinen.

Diese Funktion wird nicht verwendet, um die Gültigkeit der angegebenen URL zu überprüfen, sondern um sie in die unten aufgeführten Teile zu zerlegen. Auch unvollständige URLs werden akzeptiert und parse_url() wird versuchen, diese so korrekt wie möglich zu analysieren.

Parameterbeschreibung

url Die zu analysierende URL. Ungültige Zeichen werden durch _ ersetzt.

Komponente Geben Sie eine von PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY oder PHP_URL_FRAGMENT an, um die Zeichenfolge des angegebenen Teils der URL abzurufen. (Außer bei der Angabe als PHP_URL_PORT wird ein ganzzahliger Wert zurückgegeben.)

Rückgabewert

Bei stark unqualifizierten URLs kann parse_url() FALSE zurückgeben.

Wenn der Komponentenparameter weggelassen wird, wird ein assoziatives Array-Array zurückgegeben, wobei sich derzeit mindestens ein Element im Array befindet. Mögliche Schlüssel im Array sind:

Schema – wie http
Host
Port
Benutzer
Pass
Pfad
Abfrage – nach dem Fragezeichen? Fragment – ​​nach dem Hash-Symbol #

Wenn der Komponentenparameter angegeben ist, gibt parse_url() einen String (oder eine Ganzzahl, wenn als PHP_URL_PORT angegeben) anstelle eines Arrays zurück. Wenn die angegebene Komponente in der URL nicht existiert, wird NULL zurückgegeben.

(2) parse_str – Analysieren Sie die Abfragezeichenfolge in eine Variable. Der Funktionsprototyp lautet wie folgt:

parse_str(string,array)

Parameterbeschreibung


Zeichenfolge erforderlich. Gibt die zu analysierende Zeichenfolge an.

Array Optional. Gibt den Namen des Arrays zum Speichern der Variablen an. Dieser Parameter weist an, dass die Variable in einem Array gespeichert wird. Wenn der Array-Parameter nicht festgelegt ist, überschreiben die von dieser Funktion festgelegten Variablen bereits festgelegte Variablen mit demselben Namen.

Hinweis: Die Einstellung magic_quotes_gpc in php.ini beeinflusst die Ausgabe dieser Funktion. Wenn diese Option aktiviert ist, werden Variablen von addslashes() transformiert, bevor sie von parse_str() analysiert werden.

(3) Spezifische Beispiele für aus der URL extrahierte Parameter sind wie folgt:

<?php    
$url=&#39;http://www.phpernote.com/ad.php?id=325&action=index&page=3&#39;;    
$urlarr=parse_url($url);    
parse_str($urlarr[&#39;query&#39;],$parr);    
print_r($urlarr);    
print_r($parr);
Die Ergebnisse sind wie folgt:

Array

(
[Schema] => http
[host] =>
)
Array
(
[id] => 325
[action] => index
[page] => 3
)

Der obige Inhalt ist ein PHP-Tutorial zum Parsen von URL-Parametern (parse_url) in ein Array (parse_str). Ich hoffe, es kann Ihnen helfen.

Verwandte Empfehlungen:

"Problem der PHP-Parsing-URL-Codierung"

Drei Beispiele für PHP-Parsing-URL_PHP-Tutorial

Drei Beispiele für PHP-Parsing-URLs

Das obige ist der detaillierte Inhalt vonSo analysieren Sie parse_url-Parameter im Array parse_str. 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