PHP URL处理关键函数parse_url、parse_str与http_build_query
2019独角兽企业重金招聘Python工程师标准>>>
parse_url()
该函数可以解析 URL,返回其组成部分。它的用法如下:
array parse_url(string $url)
此函数返回一个关联数组,包含现有 URL 的各种组成部分。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。组成部分为:
scheme - 如 http
host - 如 localhost
port - 如 80
user
pass
path - 如 /parse_str.php
query - 在问号 ? 之后 如 id=1&category=php&title=php-install
fragment - 在散列符号 # 之后
此函数并不意味着给定的 URL 是合法的,它只是将上方列表中的各部分分开。parse_url() 可接受不完整的 URL,并尽量将其解析正确。此函数对相对路径的 URL 不起作用。
<?php$url = ;$parts = parse_url($url);print_r($parts);
?>
程序运行结果如下:
Array
( [scheme] => http [host] => blog.snsgou.com [path] => /welcome/
)
<?php$url = 'http://username:password@hostname/path?arg=value#anchor';print_r(parse_url($url));echo '<br />';echo parse_url($url, PHP_URL_PATH);
?>
程序输出:Array
([scheme] => http[host] => hostname[user] => username[pass] => password[path] => /path[query] => arg=value[fragment] => anchor
)
程序输出:Array
([scheme] => http[host] => hostname[user] => username[pass] => password[path] => /path[query] => arg=value[fragment] => anchor
)
可以看到,可以很容易分解出一个URL的各个部,那如果要拿指定的部分出来的话也很容易,如:
echo parse_url($url, PHP_URL_PATH);
parse_str()
parse_str用来解析URL中的查询字符串,即可以通过$_SERVER['QUERY_STRING']取得的字符串值,假如我们请求的URL是 http://localhost/parse_str.php?id=1&category=php&title=php-install,那么$_SERVER['QUERY_STRING']返回的值为id=1&category=php&title=php-install,而这种形式的字符串恰巧可以使用parse_str解析成关联数组的形式。
用法如下:
void parse_str(string $str [, array &$arr ])
该函数接收两个参数,$str为需要解析的字符串,而可选参数$arr为解析之后生成的数组值所存放的变量名,如果忽略可选参数,那么可以直接调用类似$id、$category、$title的变量。下面的脚本模拟了GET请求。
<?php
<a href="http://localhost/parse_str.php?id=1&category=php&title=php-install">Click Here</a>
$query_str = $_SERVER['QUERY_STRING'];
parse_str($query_str); /* 这种方式可以直接使用变量$id, $category, $title */
parse_str($query_str, $query_arr);
?>
<pre><?php print_r($query_arr); ?></pre>
<p><?php echo $id; ?></p>
<p><?php echo $category; ?></p>
<p><?php echo $title; ?></p>
?>
/* 运行结果 */
Array
([id] => 1[category] => php[title] => php-install
)
1
php
php-install
http_build_query 就是将一个数组转换成url ?后面的参数字符串,会自动进行urlencode处理
string http_build_query ( array formdata [, string numeric_prefix])
后面的给数组中没有指定键或者键为数字的加下标
官方手册:http://php.net/manual/zh/function.http-build-query.php
转载于:https://my.oschina.net/longhtml/blog/323445
PHP URL处理关键函数parse_url、parse_str与http_build_query相关推荐
- PHP中一个好用的函数parse_url
PHP 中一个好用的函数parse_url,特别方便用来做信息抓取的分析,举例子如下: $url = "http://www.daimajiayuan.com/course/"; ...
- url安全处理函数+php,php常用的url处理函数汇总
这篇文章主要介绍了php常用的url处理函数,实例总结了parse_url.rawurldecode.urlencode.urldecode等一些较为常用的URL处理函数,非常具有实用价值,需要的朋友 ...
- php如何定义url,使用自定义函数作为URL规则
在创建定义URL规则的时候,毕竟系统自带的通配符变量有限,如果发现通配符变量没法满足你的实际需求 我们可以使用自定义函数来做,当然需要有PHP基础的人才行~ 比如我在模块内容的url中想把标题titl ...
- 图像轮廓提取关键函数
一. 关键函数介绍 下面就介绍OpenCV中对图像进行二值化的关键函数--cvThreshold(). 函数功能:采用Canny方法对图像进行边缘检测 函数原型: void cvThreshold( ...
- 如何在IDA软件中找到自己需要的目标函数(关键函数)
这个问题很困扰我们这些初学者 特此记录~~~ 一. 提前要记住IDA的基操~~ 1.shift+F12 查看string信息 (通常可以看到重要的信息 ) 2.Alt + T 查找带有目标字符串的函数 ...
- Django 3.2.5博客开发教程:URL与视图函数
在讲URL与视图函数之前我们先给大家简单介绍一下用户访问网站的流程.我们访问一个网站的时候,一般先打开浏览器,然后在浏览器的地址栏里输入一个网址,也就是URL,然后回车,我们就可以在浏览器里看到这个网 ...
- Halcon中OCR的实现及关键函数解析
OCR的实现共分为两步,1是使用字符数据来训练OCR.2是使用OCR进行字符的识别. 训练分类器 训练分类器共分为4步: 1是使用阈值来分割字符区域: 2是调用append_ocr_trainf函数将 ...
- php 中文转成url,php字符转URL地址的函数
php字符转URL地址的函数 php提供了urlencode().urldecode().rawurlencode().rawurldecode()函数了,利用它就可以直接转换URL地址.下面是小编为 ...
- flask第七篇——URL与视图函数的映射
有兴趣的朋友可以添加微信公众号:自动化测试实战 今天开始就要进入正题了.大家都准备好了吧~ 代码提示 先和大家说个小知识点:有同学后台说输入flask代码pycharm不提示,现在告诉你一个解决方法: ...
最新文章
- Android fill_parent、wrap_content和match_parent的区别
- mysql 5.1.61_MySQL数据库之将Mysql 5.1.61升级为mysql 5.6.19
- C++字符串完全指引之二 —— 字符串封装类
- 活动目录系列之十:活动目录数据库的维护
- 在Rancher 1.6上部署Traefik负载均衡器
- 【代码笔记】iOS-二维码
- SQLserver插入\更新中文乱码
- K3wise数据字典及常用表及视图
- STM32 直流电机 转速比
- 通过降低CPU频率 达到降低功耗的目的
- 全面复盘Android开发者容易忽视的Backup功能
- 【JavaScript】(二)俄罗斯方块
- jquery 立体走马灯_jquery实现跑马灯效果(一)
- 网络服务——生成树技术STP的BPDU报文详解
- Udesk即时通讯网页插件发送咨询对象(一、使用内嵌代码)
- mysql源码分析——InnoDB引擎启动分析
- 华为疯狂扩招3000名数据分析师,招聘要求让人窒息!
- C语言实践——双人五子棋(简易版)
- 跑腿小程序系统,同城闪送、帮买帮送
- Excel单元格中怎么批量将两行合并成一行