php 字符转义 注意事项


Posted in PHP onMay 27, 2009

在php中:

* 以单引号为定界符的php字符串,支持两个转义\'和\\
* 以双引号为定界符的php字符串,支持下列转义:
\n 换行(LF 或 ASCII 字符 0x0A(10))
\r 回车(CR 或 ASCII 字符 0x0D(13))
\t 水平制表符(HT 或 ASCII 字符 0x09(9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符

举几个例子:

一个包含\0特殊字符的例子:

$str = "ffff\0ffff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");

输出结果:
----------------------

9
102 102 102 102 0 102 102 102 102

替换特殊字符的例子

$str = "ffff\0ffff";
$str = str_replace("\x0", "", $str);
//或者用$str = str_replace("\0", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
8
102 102 102 102 102 102 102 102

八进制ascii码例子:

//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。
$str = "\0\01\02\3\7\10\011\08\8"; //这里的\8不符合要求,被修正为"\\8" (ascii为92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
11
0 1 2 3 7 8 9 0 56 92 56

十六进制ascii码例子:

$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
10
0 1 2 3 7 8 9 16 17 255

PHP 相关文章推荐
第九节--绑定
Nov 16 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php中Snoopy类用法实例
Jun 19 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
详细解读php的命名空间(二)
Feb 21 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 PHP
PHP底层运行机制与工作原理详解
Jul 31 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 #PHP
PHP的单引号和双引号 字符串效率
May 27 #PHP
php session 错误
May 21 #PHP
php print EOF实现方法
May 21 #PHP
php 方便水印和缩略图的图形类
May 21 #PHP
简单的php 验证图片生成函数
May 21 #PHP
PHP 数组入门教程小结
May 20 #PHP
You might like
一些PHP写的小东西
2006/12/06 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
PHP自定义函数收代码
2010/08/01 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
Python中暂存上传图片的方法
2015/02/18 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
在python shell中运行python文件的实现
2019/12/21 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
国贸专业个人求职信范文
2014/01/08 职场文书
教师党员公开承诺书
2014/03/25 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书