PHP:urlencode
urlencode是用于对字符串进行编码,使得所有字符都能被放入url中,而不会被解析器误解。
正如html中的<>这样的符号是标记符,如果正文中存在<,要把它转义为<
url中的&是连接符,用来连接两个字段。url的格式是http://www.test.com/a/b?k1=v1&k2=v2。这里的&连接了两个子串,左边字串的字段名为k1,值为v1,右边的字段名为k2,值为v2。想象下如果某个字段对应的值里面需要包含&,那怎么办呢?
urlencode就是用来处理这样的情况,使url解析器能正确处理作为值得&。
测试用例:
<?php
$testCase = array('&', '=', '<', '>', '.', '/', '\'', '"', '\\', '+', '%', '#', '$', '@');
foreach ($testCase as $case) {
echo $case."\turlencode:".urlencode($case)."\n";
}
输出:
& urlencode:%26
= urlencode:%3D
< urlencode:%3C
> urlencode:%3E
. urlencode:.
/ urlencode:%2F
' urlencode:%27
" urlencode:%22
\ urlencode:%5C
+ urlencode:%2B
% urlencode:%25
# urlencode:%23
$ urlencode:%24
@ urlencode:%40
可以看到只有.没有被转义。很多特殊字符都被转义了,例子并不全。另外中文也会被转义。
PHP:urlencode的更多相关文章
- php使用urlencode对中文编码而引出的问题:urlencode和rawurlencode的区别
事件背景: 之前做h5小游戏,需要后端输出用户的相关信息给前端,输出的内容有:用户id,用户昵称等字段,使用get方式传参.后端使用PHP语言对中文昵称进行格式化编码,使用的是常用的urlencode ...
- Request 接收参数乱码原理解析一:服务器端解码原理
“Server.UrlDecode(Server.UrlEncode("北京")) == “北京””,先用UrlEncode编码然后用UrlDecode解码,这条语句永远为true ...
- php的urlencode()URL编码函数浅析
URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu.Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL. URLEncode的方 ...
- Php之Http请求urlencode/rawurlencode
在http请求中,如果参数值带中文最好使用urlencode/rawurlencode函数. 如果参数值中带加号也最好使用,否则后台接收时,+号变成空格,引起不必要的麻烦. 注:urlencode和r ...
- php urlencode()函数URL编码转换实例解析
URLEncode:是对网页url所包含中文字符的一种编码转化方式,URLEncode有两种常见方式,一种是基于GB2312的 Encode(Baidu.Yisou等搜索引擎使用),另一种是基于UTF ...
- php中urlencode使用
URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu.Yisou等使用),另一种是基于UTF-8的Encode(Google.Yahoo等使用). 本工具分别实现 ...
- Python爬虫学习:三、爬虫的基本操作流程
本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...
- 学习笔记:filter_var()函数
PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤 filter_var() 函数通过指定的过滤器过滤变量. 如果成功,则返回已过滤的数据,如果失败,则返回 false. 语法 f ...
- php urlencode vs java URLEncoder.encode
结论:urlencode 先比URLEncoder.encode多编码 “ * ” 符号,其他都保持一致 php urlencode phpversion()>=5.3 will compli ...
随机推荐
- <button>与<input type="button"> 的区别
<button> button按钮点击会刷新整个页面 <input type="button"> 不会刷新整个页面 本文为本人用来记录自己做的一些东西,如 ...
- 【.NET】字符串处理
类名:DealString /// 1.截取字符串,最后加3个小数点 /// 2.获得指定Url的参数的string类型值 /// 3.判断数据类型 /// 4.过滤JS标记 /// 5.获取Chec ...
- #Eureka 客户端和服务端间的交互
Eureka 服务器客户端相关配置 1.建立eureka服务器 只需要使用@EnableEurekaServer注解就可以让应用变为Eureka服务器,这是因为spring boot封装了Eureka ...
- Qt 5.7 > Qt Applications
本文翻译自Qt官方文档: http://doc.qt.io/qt-5/qmlapplications.html QML 应用 QML是声明式语言,它使得用户界面以及交互行为可以被"描述&qu ...
- Windows下怎么搭建Python+Selenium的自动化环境
http://jingyan.baidu.com/article/47a29f244aec6bc014239985.html 注意点:配置了环境变量后需要重启电脑
- Ubuntu 安装Composer
操作系统:Ubuntu 14.04.2 1.自动安装 $ curl -sS https://getcomposer.org/installer | php 2.更新 $ composer self-u ...
- Struts2-3.struts.xml的action可以简写
如果只是跳转到某个页面的话,可以这样写 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE s ...
- magento删除数据
1.删除一条数据: $delete = Mage::getSingleton("core/resource")->getConnection("core_wr ...
- .parents() 与 .parent()对比
今天使用jQuery时候需要用到parents()方法,css()方法的使用 现在只是知道可以取到父级DOM节点,研究是否可以通过选取class名或者id名进行选取. 取到父级DOM节点 $(e.sr ...
- jquery获取li中的各项属性值attr
发布新内容时的设计 默认显示一个按钮 如:发布按钮(放在h3字体里面)(鼠标上面时.显示发布到哪个模块下拉菜单发在li里面) $('#pup_model li , #pup_model h3').cl ...