您的位置:

php中的转义字符有哪些,php特殊字符转义

本文目录一览:

请问php中的转义字符是什么 能详细说一下吗

在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;$istrlen($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;$istrlen($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;$istrlen($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;$istrlen($str);$i++)echo("\t".ord($str{$i}));

echo("\n");

输出结果:

----------------------

10

0 1 2 3 7 8 9 16 17 255

转义字符有哪些呢?

常见的转义字符:

\r表示回车符,将光标定位到当前行的开头,不会跳到下一行。

\n表示换行符,换到下一行的开头。

\t表示制表符,将光标移到下一个制表符的位置,就像在文档中用Tab键一样。

\b表示退格符号,就像键盘上的Backspace键。

Java以下的字符都有特殊意义,无法直接表示,所以用反斜杠加上另外一个字符来表示。

\’表示单引号字符,Java代码中单引号表示字符的开始和结来,如果直接写单引字符('),程序会认为前两个是一对,会报错,因此需要使用转义符“\’”。

\"表示双引号字符,Java代码中双引号表示字符串的开始和结来,包含在字符串中的双引号需要转义,比如(hesays,\”thankyou\”。)。

\\标识反斜杠字符,由于在Java代码中的反斜杠(\)是转义字符,因此需要表示字面意义上的\,就需要使用双反斜杠(\\)。

控制字符:

转义字符不属于控制字符;控制字符也不属于转义字符。如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符,那么针对这些设备的转义字符也是控制字符。

但是程序设计用的转义字符是图形字符,因此它们不是控制字符。相反地,大多数ASCII控制字符单独都具有控制功能,因此它们不是转义字符。

php中正则表达式中必须转义的字符有哪些

需要转义的字符有:\ . * ^ [ ] { } ? 等

注意的是如果在[]字符集合里,很多字符都不需要转义

建议你看一下这篇基础教程:

转义字符有哪些?

转义字符是以‘\’为开头的字符,后面跟一个或几个字符,其意思是将反斜杠‘\’后面的字符转变成为另外的意义。如:\n 不代表字母n而作为换行符。常用的转义字符及其含义如下表所示:

\n 换行。

\t 横向跳格(跳到下一制表位置)。

\v 竖向跳格。

\b 退格。

\r 回车。

\f 走纸换页。

\\ 反斜杠字符’\’。

\’ 单引号字符。

\a 鸣玲。

\ddd 1到3位八进制数所代表的字符。

\xhh 1到2位十六进制数所代表的字符。

不过要注意:

1、\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。

2、\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。

3、\t 光标向前移动四格或八格,可以在编译器里设置。

4、\' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。

5、\? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)。

6、 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。