很多站长朋友们都不太清楚phpurl解码函数,今天小编就来给大家整理phpurl解码函数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php中使用parse_url()对网址进行解析的实现代码(parse_url详解) 2、 php怎么对已编码的url字符串进行解码 3、 php 中urlencode的作用是什么不用会怎么样? 4、 php中urldecode()和urlencode()起什么作用啊 php中使用parse_url()对网址进行解析的实现代码(parse_url详解)PHP
解析
URL函数:
parse_url详解
parse_url
—
解析
URL,返回其组成部分
说明
array
parse_url
(
string
$url
)
本函数解析一个
URL
并返回一个关联数组,包含在
URL
中出现的各种组成部分。
本函数不是用来验证给定
URL
的合法性的,只是将其分解为下面列出的部分。不完整的
URL
也被接受,parse_url()
会尝试尽量正确地将其解析。
参数
url
要解析的
URL
返回值
对严重不合格的
URL,parse_url()
可能会返回
FALSE
并发出
E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme
–
如
http
host
port
user
pass
path
query
–
在问号
?
之后
fragment
–
在散列符号
#
之后
范例
parse_url()
例子
复制代码
代码如下:
<?php
$url
=
'';
print_r(parse_url($url));
?>
以上例程会输出:
Array
(
[scheme]
=>
http
[host]
=>
hostname
[user]
=>
username
[pass]
=>
password
[path]
=>
/path
[query]
=>
arg=value
[fragment]
=>
anchor
)
常常我们会传送一大串网址,然后要解析的话,只能不断地去切token来解析。但是在php中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed
parse_url
(
string
$url
[,
int
$component=
-1
]
)
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
复制代码
代码如下:
<?php
$url
=
';arg2=value2#anchor';
print_r(parse_url($url));
?>
首先,先看一下这个程式的输出结果
Array
(
[scheme]
=>
http
[host]
=>
hostname
[user]
=>
username
[pass]
=>
password
[path]
=>
/path
[query]
=>
arg1=value1arg2=value2
[fragment]
=>
anchor
)
其中,scheme是指他走的路线,而host则是站台网址,user则是使用者名称,pass则是密码,path则是路径,query则是参数,fragment则是锚点。
而在「$component」的部份,则是有以下的参数可供传递。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而这几个参数则分别代表了Array中的scheme、host、user、pass、path、query和fragment。
同样,举例来说,如果使用PHP_URL_PATH和PHP_URL_QUERY来说,以下为他的示范。
复制代码
代码如下:
<?php
$url
=
';arg2=value2#anchor';
echo
nl2br(parse_url($url,
PHP_URL_PATH)."\n");
echo
nl2br(parse_url($url,
PHP_URL_QUERY)."\n");
?>
而输出结果将如下:
/path
arg1=value1arg2=value2
php怎么对已编码的url字符串进行解码如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:
URL安全的字符串编码:
复制代码
代码如下:
function urlsafe_b64encode($string) {
$data = base64_encode($string);
$data =
str_replace(array('+','/','='),array('-','_',''),$data);
return
$data;
}
URL安全的字符串解码:
复制代码
代码如下:
function urlsafe_b64decode($string) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 =
strlen($data) % 4;
if ($mod4) {
$data .= substr('====',
$mod4);
}
return base64_decode($data);
}
php 中urlencode的作用是什么不用会怎么样?是因为URL规范中不支持中文和一些特殊符号作为参数与URL地址一起传递给WEB服务器,如果不使用urlencode进行编码后传递WEB服务器将不能识别,现在的浏览器会对表单中的中文字符在后台直接自动进行编码后传递
php中urldecode()和urlencode()起什么作用啊urlencode()编码:对字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。
urldecode()解码:还原 URL 编码字符串。
示例:
<?php
header("Content-Type:text/html; charset=utf-8");
//对参数值进行编码
$parm=urlencode("演示php-mysql");
//拼接url
$url="decode.php?par=".$parm;
?>
<a href="<?php echo $url;?>">urlencode演示</a>
点击连接后地址栏中汉字被编码了:
------------------------------------------------------------------------
//decode.php
<?php
//获取参数值
$parValue=$_GET['par'];
//解码
echo urldecode($parValue);
//运行结果:演示php-mysql
?>
关于phpurl解码函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpurl解码函数 php url函数的详细内容...