解析url的3个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.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.)?
$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.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.)?
$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.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?
$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.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.)?
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把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)