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

发表日期:2021-07-01 10:23:20 | 来源: | | 浏览(1042) 分类:字符串 函数

addcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

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

说明

addcslashes(string $str, string $charlist): string

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

参数


  • str

  • 要转义的字符。

  • charlist

  • 如果 charlist   中包含有 \n\r   等字符,将以 C 语言风格转换,而其它非字母数字且 ASCII 码低于 32 以及高于 126   的字符均转换成使用八进制表示。

    当定义 charlist   参数中的字符序列时,需要确实知道介于自己设置的开始及结束范围之内的都是些什么字符。

    <?php 
    echo addcslashes('foo[ ]', 'A..z');
    // 输出:\f\o\o\[ \]
  • // 所有大小写字母均被转义
  • // ... 但 [\]^_` 以及分隔符、换行符、回车符等也一并被转义了。
  • ?>

    另外,如果设置范围中的结束字符 ASCII   码高于开始字符,则不会创建范围,只是将开始字符、结束字符以及其间的字符逐个转义。可使用   ord() 函数获取字符的 ASCII 码值。

    <?php 
    echo addcslashes("zoo['.']", 'z..A');
    // 输出:\zoo['\.']
  • ?>


    当选择对字符 0,a,b,f,n,r,t   和 v 进行转义时需要小心,它们将被转换成   \0,\a,\b,\f,\n,\r,\t 和   \v。在 PHP 中,只有 \0(NULL),\r(回车符),\n(换行符)和   \t(制表符)是预定义的转义序列, 而在   C 语言中,上述的所有转换后的字符都是预定义的转义序列。


返回值

返回转义后的字符。

更新日志


版本说明
5.2.5The escape sequences \v and \f were added.


范例

charlist 参数,如“\0..\37”,将转义所有   ASCII 码介于 0 和 31 之间的字符。

示例 #1 addcslashes() 例子

<?php 
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>


参见



集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。