stripcslashes()
(PHP 4, PHP 5, PHP 7)
反引用一个使用addcslashes()转义的字符串
说明
stripcslashes(string $str) : string
返回反转义后的字符串。可识别类似 C 语言的n,r,...八进制以及十六进制的描述。
参数
- $str
需要反转义的字符串。
返回值
返回反转义后的字符串。
参见
addcslashes()
以 C 语言风格使用反斜线转义字符串中的字符
stripcslashes does not simply skip the C-style escape sequences \a, \b, \f, \n, \r, \t and \v, but converts them to their actual meaning. So <?php stripcslashes('\n') == "\n"; //true; $str = "we are escaping \r\n"; //we are escaping ?>
> /*QUOTE > stripcslashes('He\xallo') == 'He'."\n".'llo' > stripcslashes('H\xaello') == 'H'.chr(0xAE).'llo' > */ > > You Can Use > > stripcslashes('H\xa0ello') == 'H'.chr(0xA0).'ello' Correct. But not what (I think) you were trying to show. > > as xa0 = xa = chr(xA) Not so correct. Does 9==90? No, because that added zero *after* the number means something. It's when you add a zero *before* the number does it not affect the value. I'd like to assume that was a typo, but with the Internet as it is, who knows... > You Can Use > > stripcslashes('H\x0aello') == 'H'.chr(0x0A).'ello' fix'd
you might want to do a double stripslashes to completely remove 3 consecutive slashes $stripped = 'this is a string with three\\\ slashes'; $stripped = stripslahses($stripped); would output: 'this is a string with three\ slashes' $stripped = 'this is a string with three\\\ slashes'; $stripped = stripslahses(stripslashes($stripped)); would output: 'this is a string with three slashes'