`

解析url的3个php函数

    博客分类:
  • PHP
 
阅读更多

通过url进行传值,是php中一个传值的重要手段。所以我们要经常对url里面所带的参数进行解析,如果我们知道了url传递参数名称,例如

/index.php?name=tank&sex=1#top

我们就可以通过$_GET['name'],$_GET['sex']来获得传的数据。但是如果我们不知道这些变量名又怎么办呢?这也是写这篇博文的目的,因为自己老是忘,所以做个标记,下次就不要到处找了。

我们可以通php的变量来获得url和要传的参数字符串

$_SERVER["QUERY_STRING"] name=tank&sex=1

$_SERVER["REQUEST_URI"] /index.php?name=tank&sex=1

javascript也可以获得来源的url,document.referrer;方法有很多

1,利用pathinfo


1.<?php  
2.$test = pathinfo("http://localhost/index.php");  
3.print_r($test);  
4.?>  
5.结果如下  
6.Array  
7.(  
8.    [dirname] => http://localhost //url的路径  
9.    [basename] => index.php  //完整文件名  
10.    [extension] => php  //文件名后缀  
11.    [filename] => index //文件名  
12.) 
<?php
$test = pathinfo("http://localhost/index.php");
print_r($test);
?>
结果如下
Array
(
    [dirname] => http://localhost //url的路径
    [basename] => index.php  //完整文件名
    [extension] => php  //文件名后缀
    [filename] => index //文件名
)2,利用parse_url


1.<?php  
2.$test = parse_url("http://localhost/index.php?name=tank&sex=1#top");  
3.print_r($test);  
4.?>  
5.结果如下  
6.Array  
7.(  
8.    [scheme] => http //使用什么协议  
9.    [host] => localhost //主机名  
10.    [path] => /index.php //路径  
11.    [query] => name=tank&sex=1 // 所传的参数  
12.    [fragment] => top //后面根的锚点  
13.) 
<?php
$test = parse_url("http://localhost/index.php?name=tank&sex=1#top");
print_r($test);
?>
结果如下
Array
(
    [scheme] => http //使用什么协议
    [host] => localhost //主机名
    [path] => /index.php //路径
    [query] => name=tank&sex=1 // 所传的参数
    [fragment] => top //后面根的锚点
)3,利用basename


1.<?php  
2.$test = basename("http://localhost/index.php?name=tank&sex=1#top");  
3.echo $test;  
4.?>  
5.结果如下  
6.index.php?name=tank&sex=1#top 
<?php
$test = basename("http://localhost/index.php?name=tank&sex=1#top");
echo $test;
?>
结果如下
index.php?name=tank&sex=1#top上面三种方法,我们基本上,就可以得我们所要的东西了。其实还有一种方法就是用正则,也可以很快的得到我们想到的数据。

传递的参数方式有很多,但是主要有这二种,一种是,name=tank&sex=1#top;一种是,name=tank&sex=1。


1.<?php  
2.preg_match_all("/(\w+=\w+)(#\w+)?/i","http://localhost/index.php?name=tank&sex=1#top",$match);  
3.print_r($match);?>  
4.结果如下  
5.Array  
6.(  
7.    [0] => Array  
8.        (  
9.            [0] => name=tank  
10.            [1] => sex=1#top  
11.        )  
12.    [1] => Array  
13.        (  
14.            [0] => name=tank  
15.            [1] => sex=1  
16.        )  
17.    [2] => Array  
18.        (  
19.            [0] =>  
20.            [1] => #top  
21.        )  
22.) 
<?php
preg_match_all("/(\w+=\w+)(#\w+)?/i","http://localhost/index.php?name=tank&sex=1#top",$match);
print_r($match);?>
结果如下
Array
(
    [0] => Array
        (
            [0] => name=tank
            [1] => sex=1#top
        )
    [1] => Array
        (
            [0] => name=tank
            [1] => sex=1
        )
    [2] => Array
        (
            [0] =>
            [1] => #top
        )
)要的数据都匹配出来了,好长时间搞正则了,手都有点生了。上面正则中的规则不是死的,规则是根据url来推测的。

分享到:
评论

相关推荐

    PHP 解析URL和URL参数拆分与合并

    PHP提供了内置函数`parse_url()`来解析URL。例如: ```php $url = 'http://www.example.com/path/to/page?key1=value1&key2=value2'; $parsedUrl = parse_url($url); print_r($parsedUrl); ``` 运行这段代码会输出...

    简易PHP路由,支持正反向url解析支持

    本文将探讨一个关于“简易PHP路由”的主题,这个主题主要关注如何实现支持正反向URL解析的功能。PHP路由是控制HTTP请求到达相应处理程序的关键机制,它允许我们通过灵活的URL结构来组织和管理应用程序的各个部分。 ...

    php用法parse_url和parse_str解析URL_.docx

    parse_url 是 PHP 中的一个函数,用于解析 URL 并返回其组成部分。该函数的原型为: `mixed parse_url ( string $url [, int $component = -1 ] )` 其中,$url 是要解析的 URL,$component 是可选参数,用于指定要...

    php调用远程url的六种方法,php函数

    // 解析URL $URL_Info = parse_url($URL); // 构建referrer if ($referrer == "") $referrer = "111"; // 示例值,实际应用中应根据需求设定 // 从$data构建字符串 foreach ($data as $key =&gt; $value) { $...

    解析php下载远程图片函数 可伪造来路

    在上述内容中,提供了一个名为DownImageKeep的PHP函数,这个函数用于下载远程图片,并有可能绕过防盗链的限制。函数的参数分别是: - $gurl: 目标图片的URL地址,即用户需要下载的远程图片地址。 - $rfurl: 来路...

    即用即查PHP函数参考手册.part2.rar

    第十六章 URL函数 第十七章 Mail函数 第十八章 HTTP函数 第十九章 FTP函数 第二十章 Network函数 第六篇 图象处理篇 第二十一章 Exif函数 第二十二章 Image函数 第七篇 Win32函数篇 第二十三章 Win32PI函数 第二十...

    php结合java解析二维码图片里的URL地址

    3. **PHP解析URL** 获取到URL后,你可能需要对它进行进一步处理。PHP提供了内置的`parse_url()`函数,可以解析URL结构,如协议、主机、路径等: ```php $parsedUrl = parse_url($url); $protocol = $parsedUrl...

    wordpress 二次开发 函数解析

    本文档旨在为 WordPress 初学者提供一个详细的二次开发函数解析指南。 模板文件 在 WordPress 中,模板文件是非常重要的,它们负责控制 WordPress 博客的布局和样式。常见的模板文件包括: * `style.css`:样式表...

    PHP函数参考手册大全

    XML 语法解析函数 CLVII. XML-RPC 函数 CLVIII. XMLReader functions CLIX. XSL functions CLX. XSLT Functions CLXI. YAZ Functions CLXII. YP/NIS Functions CLXIII. Zip File Functions (Read Only Access) ...

    \即用即查PHP函数参考手册.part4.rar

    第十六章 URL函数 第十七章 Mail函数 第十八章 HTTP函数 第十九章 FTP函数 第二十章 Network函数 第六篇 图象处理篇 第二十一章 Exif函数 第二十二章 Image函数 第七篇 Win32函数篇 第二十三章 Win32PI函数 第二十...

    PHP上百个常用功能函数.zip

    "PHP上百个常用功能函数.zip"这个压缩包显然包含了众多实用的PHP函数和方法,旨在帮助开发者在日常工作和学习中提升效率。下面将详细讨论一些PHP中常见的功能函数,这些函数通常会在各种场景下被广泛应用。 1. **...

    最全PHP常用函数解析

    本篇文章将深入解析一些PHP中常用的函数,帮助开发者更好地理解和应用这些工具。 首先,我们关注的是字符串处理函数。字符串函数在PHP中至关重要,因为它们允许开发者对文本进行各种操作。例如,`addslashes()`函数...

    25套收集开发常用PHP函数和类.rar

    1. URL处理:可能有一个`parse_url()`函数,用于解析URL结构;或者一个`build_query()`函数,将数组转化为URL查询字符串。 2. HTTP请求:可能有处理GET、POST请求的类,如`HttpRequest`,包含发送请求、获取响应等...

    PHP解析url并得到url参数方法总结

    总结来说,PHP处理URL及其参数通常涉及两个步骤:第一,解析URL以获取查询字符串;第二,将数组转换为查询字符串。在实现这些功能时,虽然PHP没有内置直接完成这些任务的函数,但通过简单的自定义函数,我们可以快速...

    浅谈PHP解析URL函数parse_url和parse_str

    `parse_url` 和 `parse_str` 是两个非常有用的内置函数,分别用于解析URL的不同方面。 `parse_url` 函数用于将URL分解为其组成部分,返回一个关联数组。这个函数并不检查URL的合法性,而是尽可能正确地解析它。`...

    php中解析带中文字符的url函数分享

    以下是一个简单的PHP函数`urlConvert()`,用于处理包含中文字符的URL: ```php function urlConvert($url) { $pathArr = array(); $modules = parse_url($url); $path = $modules['path']; $pathSplit = ...

    php使用函数pathinfo()、parse_url()和basename()解析URL

    通过这三个函数,开发者可以在PHP中轻松解析URL,获取所需的部分。在实际项目中,这些函数常用于路由处理、文件操作、数据解析等场景。了解并熟练使用这些函数对于提升PHP开发效率至关重要。同时,要注意安全问题,...

    1_M3U8视频解析php_fireplaceqmj_strong885_视频解析_tightlyoka_

    可以使用PHP的内置函数如`file_get_contents()`读取M3U8文件,再通过字符串处理函数如`explode()`拆分URL列表。之后,可以使用cURL或file_get_contents()逐个下载TS分片,或者直接将URL传递给HTML5的MediaSource ...

    php获取URL中带#号等特殊符号参数的解决方法

    在前端JavaScript代码中,我们可以创建一个函数来获取用户输入,并使用escape函数对这个值进行编码,然后通过修改window.location.href将编码后的值附加到URL上: ```javascript function searchsn(){ var keys = ...

Global site tag (gtag.js) - Google Analytics