本文将分享php中parse_url函数解析的详细内容,并且还将对phpparse_url进行详尽解释,此外,我们还将为大家带来关于javascriptparseUrl函数解析url获取网址url参数
本文将分享php中parse_url函数解析的详细内容,并且还将对php parse_url进行详尽解释,此外,我们还将为大家带来关于javascript parseUrl函数解析url获取网址url参数、php parse_str()函数和parse_url()函数解析URL的区别、php parse_url 函数、php parse_url()函数解析URL实例的相关知识,希望对你有所帮助。
本文目录一览:- php中parse_url函数解析(php parse_url)
- javascript parseUrl函数解析url获取网址url参数
- php parse_str()函数和parse_url()函数解析URL的区别
- php parse_url 函数
- php parse_url()函数解析URL实例
php中parse_url函数解析(php parse_url)
1.在PHP开发过程中我们经常要用到用户上传文件这个功能,那么用户上传文件我们肯定要知道用户上传文件的合法性,那么我们就要从url中获取文件的扩展名。那么就会用到parse_url()这个函数。
函数用于解析整个URL,并返回其组成部分。
PHP?id=1"
打印结果:
3.那么我们就可以知道文件的扩展名在key为path的val中。
4.使用basename函数获取文件名
5.打印结果:
7.然后使用explode函数把字符串打散为数组:
$ext = explode(".",$file); return $ext[1];
javascript parseUrl函数解析url获取网址url参数
1 function parseURL(url) {
2 var a = document.createElement(''a'');
3 a.href = url;
4 return {
5 source: url,
6 protocol: a.protocol.replace('':'',''''),
7 host: a.hostname,
8 port: a.port,
9 query: a.search,
10 params: (function(){
11 var ret = {},
12 seg = a.search.replace(/^\?/,'''').split(''&''),
13 len = seg.length, i = 0, s;
14 for (;i<len;i++) {
15 if (!seg[i]) { continue; }
16 s = seg[i].split(''='');
17 ret[s[0]] = s[1];
18 }
19 return ret;
20 })(),
21 file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''''])[1],
22 hash: a.hash.replace(''#'',''''),
23 path: a.pathname.replace(/^([^\/])/,''/$1''),
24 relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''''])[1],
25 segments: a.pathname.replace(/^\//,'''').split(''/'')
26 };
27 }
使用实例:
1 var myURL = parseURL(''http://abc.com:8080/dir/index.html?id=255&m=hello#top'');
2 myURL.file; // = ''index.html''
3 myURL.hash; // = ''top''
4 myURL.host; // = ''abc.com''
5 myURL.query; // = ''?id=255&m=hello''
6 myURL.params; // = Object = { id: 255, m: hello }
7 myURL.path; // = ''/dir/index.html''
8 myURL.segments; // = Array = [''dir'', ''index.html'']
9 myURL.port; // = ''8080''
10 myURL.protocol; // = ''http''
11 myURL.source; // = ''http://abc.com:8080/dir/index.html?id=255&m=hello#top''
php parse_str()函数和parse_url()函数解析URL的区别
在php 中有2个解析url的函数,分别是parse_str()函数和parse_url()函数,其中parse_str函数将查询字符串解析到变量中,parse_url函数用于解析整个url,并返回其组成部分,前面的
文章也分别给这两个函数做了讲解,本篇文字主要介绍php parse_str()函数和parse_url()函数这两个函数在解析URL时的使用方法和区别。
首先先看php parse_str函数
php parse_str函数将查询字符串解析到变量中。
立即学习“PHP免费学习笔记(深入)”;
parse_str函数有两个参数,第一个参数为需要解析的查询字符串并且是必须的,第二个参数用于设置接收解析查询字符串的变量,第二个参数是可选的。请看下面实例:
这里我们使用了parse_url来获取URL的查询字符串,parse_url函数下面有讲解。
<?php $url_name='http://www.php.cn/mytest.php?uid=5&pages=2&category=3'; $urlarr=parse_url($url_name); //指定第二个参数 parse_str($urlarr['query'],$parr);//$urlarr['query']的值为:uid=5&pages=2&category=3' print_r($parr); echo "<br/><br/>"; //不指定第二个参数 parse_str($urlarr['query']); echo $uid."<br/>"; echo $pages."<br/>"; echo $category."<br/>"; ?>
代码运行结果:
可以看出,设置第二个参数与不设置第二个参数,获取解析的值的方法有所不同。
设置第二个参数,我们可以直接以数组形式输出解析的查询字符串。
没有设置第二个参数,需要以查询字符串的参数名称作为变量名来获取值。
php parse_url
php parse_url函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。
请看下面实例:
<? $test = parse_url("http://www.php.cn/index.php?name=tank&sex=1#top"); print_r($test); ?>
代码运行结果:
我们也可以这样使用该函数:
<?php header("content-type:text/html;charset=utf-8"); $url ="http://www.php.cn/index.php?name=tank&sex=1#top"; echo "scheme:".parse_url($url,PHP_URL_SCHEME)."<br/>"; echo "host:".parse_url($url,PHP_URL_HOST)."<br/>"; echo "path:".parse_url($url,PHP_URL_PATH)."<br/>"; echo "query:".parse_url($url,PHP_URL_QUERY)."<br/>"; echo "fragment:".parse_url($url,PHP_URL_FRAGMENT)."<br/>"; ?>
代码运行结果:
【相关文章推荐】:
1.详解php parse_url()函数的定义与用法
2.实例讲解php parse_str()函数
以上就是php parse_str()函数和parse_url()函数解析URL的区别的详细内容,更多请关注php中文网其它相关文章!
php parse_url 函数
parse_url : 解析URL并返回其组成部分
描述
混合parse_url,此功能解析一个URL并返回一个关联数组含有任何的各个组成部分的URL ,也存在着分歧。这个功能并不意味着验证给定网址,它不仅打破了它的上述部分。部分网址也接受, parse_url()会尝试尽量正确解析。
参数
网址. 无效的字元取代_.
部分
指定一个PHP_URL_SCHEME , PHP_URL_HOST , PHP_URL_PORT , PHP_URL_USER , PHP_URL_PASS , PHP_URL_PATH , PHP_URL_QUERY或PHP_URL_FRAGMENT检索只是一个特定的URL的组成部分作为一个字符串。
返回值
对严重畸形的URL, parse_url()可能会返回FALSE并发出E_WARNING 。否则关联数组返回的,其成分可能是(至少一个).如果部分参数指定返回一个字符串而不是一个数组。
实例
$url = ''http://username:password@hostname/path?arg=value#anchor''; |
print_r(parse_url($url)); |
echo parse_url($url, PHP_URL_PATH); |
将输出结果:
Array |
( |
[scheme] =>http |
[host] =>hostname |
[user] =>username |
[pass] =>password |
[path] =>/path |
[query] =>arg=value |
[fragment] =>anchor |
) |
No related posts.
php parse_url()函数解析URL实例
PHP中一个好用的函数parse_url,特别方便用来解析URL,该函数将URL解析为一个关联数组,该关联数组包含URL中出现的各种组成部分,组成部分为:
scheme - 如 http
host
port
user
pass
path
query - 在问号 ? 之后
fragment - 在散列符号 # 之后
parse_url函数不会去验证给定 URL 的合法性,它只是将其分解为上面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。
语法
array parse_url(string $url,int $component)
参数
参数名
参数说明
$url
要解析的 URL
$component
指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。
实例