GVKun编程网logo

php中parse_url函数解析(php parse_url)

36

本文将分享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)

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参数

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 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=&#39;http://www.php.cn/mytest.php?uid=5&pages=2&category=3&#39;;
$urlarr=parse_url($url_name);

//指定第二个参数
parse_str($urlarr[&#39;query&#39;],$parr);//$urlarr[&#39;query&#39;]的值为:uid=5&pages=2&category=3&#39;
print_r($parr);
echo "<br/><br/>";

//不指定第二个参数
parse_str($urlarr[&#39;query&#39;]);
echo $uid."<br/>";
echo $pages."<br/>";
echo $category."<br/>";

?>
登录后复制

代码运行结果:

4.jpg

可以看出,设置第二个参数与不设置第二个参数,获取解析的值的方法有所不同。

设置第二个参数,我们可以直接以数组形式输出解析的查询字符串。

没有设置第二个参数,需要以查询字符串的参数名称作为变量名来获取值。

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);
?>
登录后复制

代码运行结果:

5.jpg

我们也可以这样使用该函数:

<?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/>";
?>
登录后复制

代码运行结果:

6.jpg

【相关文章推荐】:

1.详解php parse_url()函数的定义与用法

2.实例讲解php parse_str()函数

以上就是php parse_str()函数和parse_url()函数解析URL的区别的详细内容,更多请关注php中文网其它相关文章!

php parse_url 函数

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实例

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 的值)。

实例