在项目中,有时我们需要对当前页面的整个URL进行特殊处理,比如提取某个部分判断是否满足我们的需要,带着这个需求,下面我们来聊聊在PHP中和URL相关的知识点。
获取页面的URL
从上面的图片,我们能够看到,URL包括协议、域名、端口、查询参数、请求路径等等,而在PHP中我们能够使用$_SERVER这个超级全局数组来获取URL的各个组成部分,再经过拼接从而得到最后的当前页面URL。
解析URL的各个部分
上面获取页面的URL是一种特殊的情况,因为这些是PHP底层为你生成了,现在我们遇到一种另外的情况,就是这个URL是一个变量,那么这个时候我们除了手动用explode函数分解外,还可以使用parse_url来完成,这个函数能够成功从一个URL字符串提取URL的各个组成部分,比如端口、主机、协议、路径、用户和密码等等。
分解查询参数
有时候我们的查询参数有很多,那么这个时候我们可以使用parse_str这个函数将我们的查询参数分割为数组,从而方便的提取各个值,当然这些还可以借助explode来完成,但是唯一的区别这个函数更加方便,仅仅使用一次就能够提取我们要的值,而explode要使用至少2次。
用数组和对象构造URL
用各个条件生成最后的URL,在项目中经常遇到,尤其是还可能包含中文的情况,大家都知道,URL里面包含中文必须进行编码,那么如果参数众多的话,生成一个URL都会感觉代码比较乱,还好PHP提供了http_build_query这个函数,能够让我们直接以数组或者对象的方式生成我们最后需要的URL,并且该函数自动进行URL编码的操作,大家想想,是不是方便多了。
对路径进行解析
如果我们需要对URL里面的路径部分进行进一步的解析,那么这个时候可以借助PHP里面的explode这个函数来完成,利用它我们能够分割出路径里面的每一个部分,从而进行进一步的处理。
上面说了几个常用的PHP函数,如果你已经非常熟悉了,相信对你在今后的项目中帮助非常的大,谢谢大家阅读本文,如果觉得还不错,请给个赞或者分享给你的好友,如果有什么问题或者你有更好的经验,可以在评论中和大家分享一下,周末快乐。