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 相关文章推荐
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
深入PHP许愿墙模块功能分析
Jun 25 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
PHP中把对象转换为关联数组代码分享
Apr 09 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
Nov 27 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
May 11 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 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 Socket配置以及实例的详细介绍
2013/06/13 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
Vue.js基础知识汇总
2016/04/27 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
航空大学应届生求职信
2013/11/10 职场文书
财务会计应届生求职信
2013/11/24 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
小学一年级评语大全
2014/04/22 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
大学军训口号大全
2015/12/24 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书