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 相关文章推荐
社区(php&amp;&amp;mysql)四
Oct 09 PHP
用PHP和ACCESS写聊天室(五)
Oct 09 PHP
php 表单数据的获取代码
Mar 10 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
PHP连接局域网MYSQL数据库的简单实例
Aug 26 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
PHP目录操作实例总结
Sep 27 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 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 过滤页面中的BOM(实现代码)
2013/06/29 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
PHP编写简单的App接口
2016/08/28 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
javascript轮播图算法
2016/10/21 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
python中wx模块的具体使用方法
2020/05/15 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
2014学雷锋活动总结
2014/03/09 职场文书
小学老师对学生的评语
2014/12/29 职场文书
三峡导游词
2015/01/31 职场文书
2015年公务员工作总结
2015/04/24 职场文书
七年级作文之雪景
2019/11/18 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python