本文目录一览:
- php 转义字符
- 如何在PHP中转义正则表达式字符
- 请问php中的转义字符是什么 能详细说一下吗
- php转义字符,这是什么意思?
- php转义字符
- php转义字符怎么用?echo "gde/n/r/t/v hdiiri";这样有什么不对么?为什么没有换行和tab?解释清楚点
php 转义字符
echo "trtda href=\"$_SERVER['PHP_SELF']?id=1\"上一页/aa href=\"$_SERVER['PHP_SELF']?id=2\"下一页/a/td/tr";
还是不对,数组特殊,应该如下:
echo "trtda href=\"{$_SERVER['PHP_SELF']}?id=1\"上一页/aa href=\"{$_SERVER['PHP_SELF']}?id=2\"下一页/a/td/tr";
如何在PHP中转义正则表达式字符
在PHP中,实现转义正则表达式字符的函数是:preg_quote
函数。语法如下:
String preg_quote(string str[, string delimiter])
str
是用来进行字符转义的正则表达式,delimiter
是其他需要转义的字符。
在PHP中可以使用preg_quote
函数转义一些特殊字符。
例如:
$str = preg_quote("/\d{3}(\-\d{4})/");
echo $str;
结果:
/\\d\{3\}\-d{4}\-d{4}/
$str = preg_quote("/\d{3}(\-\d{4})/", "3");
echo $str;
结果:
/\\d\{\3\}\-d{4}\-d{4}/
这两个例子有什么区别呢? 就是红色区域中的“3”,在第二个例子中将“3”也转义出了。
请问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;$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码例子:
$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转义字符,这是什么意思?
\
的意思是转义。
如果你双引号里要出现双引号是不行的,所以要转义。
比如:\"
就是相当于 "
。
(转义双引号等于单引号)
\'
等于 '
。
(转义单引号等于单引号)
你这段的意思是:执行循环,次数为3次。循环输出表格的列(align="center"
设定为居中)。img
是图片,src
是图片位置,位置是数组 $pictures
的第 $i
个(根据循环次数来定)。
echo "<td align=\"center\"><img src=\"".$pictures[$i]."\"></td>";
不过我感觉程序有点问题。。
php转义字符
用来表示一些无法输入的字符,或者输入后不明显,或者容易被编辑器替换的字符。 例如:
\r
表示回车\n
表示换行\$
表示一个$
符号,直接在PHP的字符串里面写$
容易被误会为变量。
php转义字符怎么用?echo "gde/n/r/t/v hdiiri";这样有什么不对么?为什么没有换行和tab?解释清楚点
使用反斜杠转义,被转义过的特殊符号就会被当成字符串输出。比如单引号里面要输出单引号,如果 $string = 'this's a string';
这样就会报错,要把 this
后面的单引号转义下,PHP就会把它当字符串输出,而不是当作字符串的边界了。$string = 'this\'s a string';
在PHP中,\0
(NULL),\r
(回车符),\n
(换行符),\t
(制表符即 Tab)
\t
、\n
等是为了向操作系统的文本字符表示方式兼容。而 echo
、print
之类的是输出为HTML标记,所以浏览器解析的时候会使这些字符换成了空格。在HTML里没有制表符的特殊字符表示,只有在 <pre>
标签里才会保留制表符。例如:
echo "<pre>a\tb\nc</pre>";