Heim  >  Artikel  >  Backend-Entwicklung  >  Codebeispiel für PHP zum Abrufen der Parameter jedes Teils der URL

Codebeispiel für PHP zum Abrufen der Parameter jedes Teils der URL

不言
不言nach vorne
2019-04-12 11:21:442857Durchsuche

Dieser Artikel bietet Ihnen ein Codebeispiel für PHP, um die Parameter jedes Teils der URL zu erhalten. Ich hoffe, dass es für Sie hilfreich ist.

Die URL-Verarbeitung umfasst mehrere Schlüsselfunktionen parse_url, parse_str und http_build_query

parse_url()

Diese Funktion kann die URL analysieren und ihre Komponenten zurückgeben. Sie wird wie folgt verwendet:

array parse_url(string $url)

Diese Funktion gibt ein assoziatives Array zurück, das die verschiedenen Komponenten der vorhandenen URL enthält. Fehlt eine dieser Komponenten, wird für diese Komponente kein Array-Eintrag erstellt. Die Komponenten sind:

  • Schema – z. B. http
  • Host – z. B. localhost
  • Port – z. B. 80
  • Benutzer
  • Pfad – wie /parse_str.php
  • Abfrage – nach dem Fragezeichen? wie id=1&category=php&title=php-install
  • Fragment – ​​nach dem Hash-Symbol #

Diese Funktion bedeutet nicht, dass die angegebene URL gültig ist, sie trennt lediglich die Teile in der obigen Liste. parse_url() akzeptiert unvollständige URLs und versucht, diese korrekt zu analysieren. Diese Funktion hat keine Auswirkung auf relative Pfad-URLs.

<?php
    $url = "http://52php.cnblogs.com/welcome/";
    $parts = parse_url($url);
     
    print_r($parts);
?>

Das Ergebnis der Programmausführung ist wie folgt:

Array
(
    [scheme] => http
    [host] => 52php.cnblogs.com 
    [path] => /welcome/
)
<?php
    $url = &#39;http://username:password@hostname/path?arg=value#anchor&#39;;
    print_r(parse_url($url));
    echo &#39;<br />&#39;;
    echo parse_url($url, PHP_URL_PATH);
?>

Programmausgabe:

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

Wie Sie sehen können, ist es Jeder Teil einer URL kann leicht zerlegt werden. Es ist einfach, die angegebenen Teile zu extrahieren, z. PHP_URL_PATH, PHP_URL_QUERY oder PHP_URL_FRAGMENT.

parse_str()

parse_str wird verwendet, um die Abfragezeichenfolge in der URL zu analysieren, dh den Zeichenfolgewert, der über $_SERVER['QUERY_STRING' abgerufen werden kann ]. Wenn die angeforderte URL http://localhost/parse_str.php?id=1&category=php&title=php-install ist, lautet der von $_SERVER['QUERY_STRING'] zurückgegebene Wert id=1&category=php&title=php-install , und diese Form Die Zeichenfolge wird zufällig mithilfe von parse_str in ein assoziatives Array analysiert.

wird wie folgt verwendet:

void parse_str(string $str [, array &$arr ])

Diese Funktion empfängt zwei Parameter, $str ist die Zeichenfolge, die benötigt wird analysiert werden soll, und der optionale Parameter $arr ist der Variablenname, in dem der nach dem Parsen generierte Array-Wert gespeichert wird. Wenn Sie den optionalen Parameter ignorieren, können Sie Variablen wie $id, $category und $title direkt aufrufen. Das folgende Skript simuliert eine GET-Anfrage.

echo parse_url($url, PHP_URL_PATH);

http_build_query Soll ein Array in eine URL konvertiert werden? Die folgende Parameterzeichenfolge wird automatisch urlencodiert string http_build_query (array formdata [, string numeric_prefix])

Danach fügen Sie Indizes hinzu

, wenn im Array kein angegebener Schlüssel vorhanden ist oder der Schlüssel eine Zahl ist

Das obige ist der detaillierte Inhalt vonCodebeispiel für PHP zum Abrufen der Parameter jedes Teils der URL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen