addcslashes
addcslashes
(PHP 4, PHP 5, PHP 7)
addcslashes - 以C语言的斜杠引用字符串
描述
string addcslashes ( string $str , string $charlist )
在charlist参数中列出的字符之前,返回带有反斜杠的字符串。
参数
str
要逃脱的字符串。
charlist
要逃脱的字符列表。 如果charlist包含\ n,\ r等字符,则它们将以类似C的样式进行转换,而ASCII码低于32且高于126的其他非字母数字字符将转换为八进制表示。
在charlist参数中定义一系列字符时,请确保您知道在设置为范围的开始和结束的字符之间出现了什么字符。
<?php
echo addcslashes('foo[ ]', 'A..z'
// output: \f\o\o\[ \]
// All upper and lower-case letters will be escaped
// ... but so will the [\]^_`
?>
另外,如果范围中的第一个字符的ASCII码值高于范围中的第二个字符,则不会构建范围。只有开始,结束和句点字符才会被转义。使用ord()函数查找字符的ASCII值。
<?php
echo addcslashes("zoo['.']", 'z..A'
// output: \zoo['\.']
?>
如果选择转义字符0,a,b,f,n,r,t和v,请注意它们将转换为\ 0,\ a,\ b,\ f,\ n,\ r,\ t和 \ v,所有这些都是C中预定义的转义序列。其中许多这些序列也在其他C派生语言(包括PHP)中定义,这意味着如果使用addcslashes()的输出来生成 在charlist中定义这些字符的代码。
返回值
返回转义字符串。
更新日志
版本 | 描述 |
---|---|
5.2.5 | 转义序列\ v和\ f被添加。 |
例子
charlist
:如“\ 0 .. \ 37”,它将使用0到31之间的ASCII码转义所有字符。
示例#1 addcslashes()示例
<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377"
?>
扩展内容
- stripcslashes() - 使用addcslashes引用不加引号的字符串
- stripslashes() - 取消引号引用的字符串
- addslashes() - 用斜杠引用字符串
- htmlspecialchars() - 将特殊字符转换为HTML实体
- quotemeta() - 引用元字符
addslashes →