略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: stripcslashes

2024-11-12

stripcslashes

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

stripcslashes反引用一个使用 addcslashes() 转义的字符串

说明

stripcslashes(string $str): string

返回反转义后的字符串。可识别类似 C 语言的 \n\r,... 八进制以及十六进制的描述。

参数

str

需要反转义的字符串。

返回值

返回反转义后的字符串。

参见

  • addcslashes() - 以 C 语言风格使用反斜线转义字符串中的字符
add a noteadd a note

User Contributed Notes 3 notes

up
13
rafayhingoro[at]hotmail[dot]com
5 years ago
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

?>
up
-23
uramihsayibok, gmail, com
14 years ago
> /*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
up
-33
jsmneo at dreamworkstudio dot net
13 years ago
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'

官方地址:https://www.php.net/manual/en/function.stripcslashes.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3