Heim >Backend-Entwicklung >PHP-Tutorial >php如何获取url参数信息?

php如何获取url参数信息?

PHPz
PHPzOriginal
2016-06-23 09:09:394218Durchsuche

在PHP中可以使用“parse_url()”函数来获取url参数信息,该函数的语法是“array parse_url(string $url)”,其返回值是一个关联数组,且包含现有URL的各种组成部分。

php如何获取url参数信息?

php如何获取url参数信息?

在PHP中,可以使用parse_url()函数来获取url参数信息。parse_url()可以解析 URL,返回其组成部分。

语法:

array parse_url(string $url)

此函数返回一个关联数组,包含现有 URL 的各种组成部分。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。组成部分为:

scheme - 如 http 

host - 如 localhost

port - 如 80user 

pass

path - 如 /parse_str.php

query - 在问号 ? 之后  如 id=1&category=php&title=php-install

fragment - 在散列符号 # 之后 

此函数并不意味着给定的 URL 是合法的,它只是将上方列表中的各部分分开。parse_url() 可接受不完整的 URL,并尽量将其解析正确。此函数对相对路径的 URL 不起作用。

<?php
$url = &#39;http://www.php.cn/vip.html&#39;;
$url=parse_url($url);
echo &#39;协议 : &#39;.$url[&#39;scheme&#39;]."<br>";
echo &#39;主机 : &#39;.$url[&#39;host&#39;]."<br>";
echo &#39;路径 : &#39;.$url[&#39;path&#39;]."<br>";
?>

程序运行结果如下:

1.png

<?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);
?>

程序输出:

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

可以看到,可以很容易分解出一个URL的各个部,那如果要拿指定的部分出来的话也很容易,如:

echo parse_url($url, PHP_URL_PATH);

就是在第二个参数中,设定如下的参数:

PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT。

注:对严重不合格的 URL,parse_url() 可能会返回 FALSE。

更多相关知识,请访问 PHP中文网!!

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