stripslashes

(PHP 4, PHP 5, PHP 7)

stripslashesУдаляет экранирование символов

Описание

string stripslashes ( string $str )

Удаляет экранирующие символы.

Замечание:

Если включена директива magic_quotes_sybase, вместо обратных слешей будут удаляться двойные одинарные кавычки.

Функцию stripslashes() можно использовать, например, если директива конфигурации magic_quotes_gpc имеет значение on (она была включена по умолчанию в версиях до PHP 5.4), и экранирование символов не требуется. Например, данные не вставляются в базу данных, а просто выводятся в браузер.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает строку с вырезанными обратными слешами. (\' становится ' и т.п.) Двойные обратные слеши (\\) становятся одинарными (\).

Примеры

Пример #1 Пример использования stripslashes()

<?php
$str 
"Ваc зовут O\'reilly?";

// выводит: Вас зовут O'reilly?
echo stripslashes($str);
?>

Замечание:

stripslashes() не рекурсивна. Если вы хотите применить ее к многомерному массиву, то вам необходимо использовать рекурсивную функцию.

Пример #2 Использование stripslashes() с массивом

<?php
function stripslashes_deep($value)
{
    
$value is_array($value) ?
                
array_map('stripslashes_deep'$value) :
                
stripslashes($value);

    return 
$value;
}

// Пример
$array = array("f\\'oo""b\\'ar", array("fo\\'o""b\\'ar"));
$array stripslashes_deep($array);

// Вывод
print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Смотрите также

  • addslashes() - Экранирует строку с помощью слешей
  • get_magic_quotes_gpc() - Получение текущего значения настройки конфигурации magic_quotes_gpc

Коментарии

Might I warn readers that they should be vary careful with the use of stripslashes on Japanese text. The shift_jis character set includes a number of two-byte code charcters that contain the hex-value 0x5c (backslash) which will get stripped by this function thus garbling those characters.

What a nightmare!
2003-11-30 23:34:07
http://php5.kiev.ua/manual/ru/function.stripslashes.html
Автор:
in response to crab dot crab at gmail dot com:

$value need not be passed by reference. The 'stripped' value is returned. The passed value is not altered.
2007-01-02 10:31:46
http://php5.kiev.ua/manual/ru/function.stripslashes.html
If you need to remove all slashes from a string, here's a quick hack:

<?php
function stripallslashes($string) {
    while(
strchr($string,'\\')) {
       
$string stripslashes($string);
    }
}
?>

Hope it's usefull , O-Zone
2009-03-19 05:53:43
http://php5.kiev.ua/manual/ru/function.stripslashes.html
Автор:
A replacement that should be safe on utf-8 strings.
<?php
  preg_replace
(array('/\x5C(?!\x5C)/u''/\x5C\x5C/u'), array('','\\'), $s);
?>
2009-03-23 09:26:23
http://php5.kiev.ua/manual/ru/function.stripslashes.html
Hi, 

Here are recursive addslashes / stripslashes functions.
given a string - it will simply add / strip slashes
given an array - it will recursively add / strip slashes from the array and all of it subarrays. 
if the value is not a string or array - it will remain unmodified!

<?php

function add_slashes_recursive$variable )
{
    if ( 
is_string$variable ) )
        return 
addslashes$variable ) ;

    elseif ( 
is_array$variable ) )
        foreach( 
$variable as $i => $value )
           
$variable$i ] = add_slashes_recursive$value ) ;

    return 
$variable ;
}

function 
strip_slashes_recursive$variable )
{
    if ( 
is_string$variable ) )
        return 
stripslashes$variable ) ;
    if ( 
is_array$variable ) )
        foreach( 
$variable as $i => $value )
           
$variable$i ] = strip_slashes_recursive$value ) ;
   
    return 
$variable 
}

?>
2009-05-09 18:50:42
http://php5.kiev.ua/manual/ru/function.stripslashes.html
Sometimes for some reason is happens that PHP or Javascript or some naughty insert a lot of  backslash. Ordinary function does not notice that. Therefore, it is necessary that the bit "inflate":

<?php
function removeslashes($string)
{
   
$string=implode("",explode("\\",$string));
    return 
stripslashes(trim($string));
}

/* Example */

$text="My dog don\\\\\\\\\\\\\\\\'t like the postman!";
echo 
removeslashes($text);
?>

RESULT: My dog don't like the postman!

This flick has served me wery well, because I had this problem before.
2014-03-04 17:29:45
http://php5.kiev.ua/manual/ru/function.stripslashes.html

    Поддержать сайт на родительском проекте КГБ