PHP 8.4.3 Released!

stripslashes

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

stripslashesBir dizgeden tersbölüleri ayıklar

Açıklama

stripslashes(string $dizge): string

Tersbölüleri ayıklanmış bir dizge döndürür.

Veri önceleme gerektiren bir yere (bir veritabanı gibi) yerleştirilmeyecekse stripslashes() kullanılabilir. Örnek: Verinin bir HTML formundan doğrudan doğruya çıktılanması.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Tersbölüleri ayıklanmış bir dizge döndürür. Örneğin, \' dizilimleri ' haline gelir, çift tersbölüler (\\) teke (\) indirilir.

Örnekler

Örnek 1 - stripslashes() örneği

<?php
$str
= "Is your name O\'reilly?";

// Çıktısı: Is your name O'reilly?
echo stripslashes($str);
?>

Bilginize:

stripslashes() ardışık işlem yapmaz. Bu işlevi çok boyutlu bur diziye uygulamak istersiniz ardışık işlem yapacak bir işlev kullanmalısınız.

Örnek 2 - Dizi üzerinde stripslashes() kullanımı

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

return
$value;
}

// Örnek
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Çıktılayalım
print_r($array);
?>

Yukarıdaki örneğin çıktısı:

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

)

Ayrıca Bakınız

add a note

User Contributed Notes 6 notes

up
71
ivijan dot stefan at gmail dot com
10 years ago
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.
up
6
shredder at technodrome dot com
15 years ago
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 ;
}

?>
up
1
Tom Worster
15 years ago
A replacement that should be safe on utf-8 strings.
<?php
preg_replace
(array('/\x5C(?!\x5C)/u', '/\x5C\x5C/u'), array('','\\'), $s);
?>
up
2
o-zone at zerozone dot it
15 years ago
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
up
1
stoic
18 years ago
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.
up
1
hash at samurai dot fm
21 years ago
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!
To Top