php addcslashes 使用反斜线转义字符串中的字符

时间:2016-01-25
php中addcslashes以 C 语言风格使用反斜线转义字符串中的字符。本文章通过实例向大家讲解php addcslashes的基本语法及使用技巧。需要的码农可以参考一下。

addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符

基本语法:

addcslashes(string,characters)

返回字符串,该字符串在参数 characters列表中的字符前都加上了反斜线。

参数介绍

参数 描述
string 必需。要转义的字符。
characters 必需。规定要转义的字符或字符范围。如果 charlist 中包含有 \n,\r 等字符,将以 C 语言风格转换,而其它非字母数字且 ASCII 码低于 32 以及高于 126 的字符均转换成使用八进制表示。当定义 charlist 参数中的字符序列时,需要确实知道介于自己设置的开始及结束范围之内的都是些什么字符。另外,如果设置范围中的结束字符 ASCII 码高于开始字符,则不会创建范围,只是将开始字符、结束字符以及其间的字符逐个转义。当选择对字符 0,a,b,f,n,r,t 和 v 进行转义时需要小心,它们将被转换成 \0,\a,\b,\f,\n,\r,\t 和 \v。在 PHP 中,只有 \0(NULL),\r(回车符),\n(换行符)和 \t(制表符)是预定义的转义序列, 而在 C 语言中,上述的所有转换后的字符都是预定义的转义序列。 

返回值

返回转义后的字符。 

注意事项:

  1. addcslashes() 函数对大小写敏感。
  2. 对以下字符应用 addcslashes() 时请小心:0(NULL), r(回车), n(换行), f 换页)、t(制表符)以及 v(垂直制表符)。在 PHP 中,\0, \r, \n, \t, \f 以及 \v 是预定义的转义序列。

实例: 

1.向字符串中的特定字符添加反斜杠:

<?php
$str = "Welcome to Shanghai!";
echo $str."<br>";
echo addcslashes($str,'m')."<br>";
echo addcslashes($str,'H')."<br>";
?>

在线运行

2.向字符串中的某个范围内的字符添加反斜杠:

<?php
$str = "Welcome to Shanghai!";
echo $str."<br>";
echo addcslashes($str,'A..Z')."<br>";
echo addcslashes($str,'a..z')."<br>";
echo addcslashes($str,'a..g');
?>

在线运行