欢迎访问宙启技术站
智能推送

PHP函数-解析URL地址字符串

发布时间:2023-06-09 19:53:01

在网页开发中,经常会需要对URL地址进行解析,比如获取GET参数、获取域名、获取路径等等。PHP提供了一系列函数可以方便地进行URL解析。

1. parse_url()

parse_url()函数用于解析URL字符串,返回一个关联数组,包括scheme、host、port、user、pass、path、query、fragment等元素。

例如,一个URL地址为:

https://www.baidu.com/s?wd=php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80

使用parse_url()可以得到以下结果:

Array

(

    [scheme] => https

    [host] => www.baidu.com

    [path] => /s

    [query] => wd=php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80

)

代码如下:

$url = "https://www.baidu.com/s?wd=php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80";

$arr = parse_url($url);

print_r($arr);

2. parse_str()

parse_str()函数将URL查询字符串解析成变量和值,并存储在$_GET数组中。

例如,一个URL地址为:

https://www.baidu.com/s?wd=php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80

使用parse_str()可以得到以下结果:

Array

(

    [wd] => php解析地址

)

代码如下:

$url = "https://www.baidu.com/s?wd=php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80";

parse_str(parse_url($url)['query'], $_GET);

print_r($_GET);

3. urlencode()

urlencode()函数将字符串编码为URL安全的格式,将特殊字符转换为%xx格式。

例如,将一个字符串"php解析地址"编码成URL安全格式可以得到"php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80"。

代码如下:

$str = "php解析地址";

$str_safe = urlencode($str);

echo $str_safe;

4. urldecode()

urldecode()函数解码已编码的字符串。

例如,将"php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80"解码成"php解析地址"。

代码如下:

$str_safe = "php%E8%A7%A3%E6%9E%90%E5%9C%B0%E5%9D%80";

$str = urldecode($str_safe);

echo $str;

总结

在PHP中,parse_url()、parse_str()、urlencode()和urldecode()等函数可以方便地解析URL地址字符串。对于网页开发人员来说,学习使用这些函数可以更好地进行URL解析,帮助我们更高效地完成开发工作。