很多站长朋友们都不太清楚phpurl链接解析,今天小编就来给大家整理phpurl链接解析,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php中解析带中文字符的url怎么做 2、 php怎么对已编码的url字符串进行解码 3、 php,如何把url字符串里面的参数解析出来 4、 php中使用parse_url()对网址进行解析的实现代码(parse_url详解) 5、 100分求PHP获取图中链接URL中的ID数字值。 php中解析带中文字符的url怎么做<?php //GB2312的Encode echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+ echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20 echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. ?>
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,如何把url字符串里面的参数解析出来//url中传递的参数,get形式$userid = @$_GET['userid'];//你也可以打印出所有的Get参数, 可以更明白其中的奥妙print_r($_GET); //如果是表单/post提交,则用$_POST , 用法和$_GET类似
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
100分求PHP获取图中链接URL中的ID数字值。对于 url ,可以使用 parse_url 函数来解析获取相应的部分,比如 host、path、query 等。按照你题目的要求,需要获取的是 query 部分,这部分又可以使用 parse_str 函数来解析,然后获取需要的参数,比如你这里的 id。
这里有一个函数,用于获取一个链接的URL的query部分,并解析成数组,可以很方便的通过键名来获取参数值。
// 解析 url,数组的形式返回 url 的 query 部分
function getQuery($url='')
{
$url=trim($url);
if($url=='')
return false;
// 解析 url,获取 query 部分,它是一个字符串
$query=parse_url($url, PHP_URL_QUERY);
if($query===null)
return null;
// 解析 query 部分,将会保存到一个数组
parse_str($query, $params);
return $params;
}
// 使用举例
$url='...?id=24498704247'; // 你要解析的那个 url
$paras=getQuery($url); // array( 'id' => 24498704247)
echo $paras['id']; // 24498704247
关于phpurl链接解析的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpurl链接解析 php解析url的详细内容...