Forum und email

stripslashes

(PHP 4, PHP 5)

stripslashes — Entfernt Quotes aus einem mittels addslashes() gequoteten String

Beschreibung

string stripslashes ( string $str )

Entfernt aus einem gequoteten String alle Quotes.

Hinweis: Wenn magic_quotes_sybase eingeschaltet ist, werden keine einfachen Backslashes entfernt, doppelte jedoch durch einfache Backslashes ersetzt.

Eine exemplarische Anwendung für stripslashes() ergibt sich, wenn die PHP-Direktive magic_quotes_gpc auf On gesetzt ist (Default-Einstellung), und Sie die übermittelten Daten an anderer Stelle, die eigenes Escaping erfordert (wie z.B. eine Datenbank), einfügen wollen. Zum Beispiel, wenn Sie Daten direkt aus einem HTML-Formular verarbeiten wollen.

Parameter Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt einen String zurück, aus dem alle Backslashes ("\") entfernt wurden. (\' wird zu ' usw.). Doppelte Rückstriche (\\) werden zu einem einfachen Backslash (\) umgesetzt.

Beispiele

Example#1 Ein stripslashes()-Beispiel

<?php
$str 
"Ist Ihr Name O\'reilly?";

// Ausgabe: Ist Ihr Name O'reilly?
echo stripslashes($str);
?>

Hinweis: stripslashes() ist nicht rekursiv. Wenn Sie die Funktion auf ein mehrdimensionales Array anwenden wollen, müssen Sie eine rekursive Funktion verwenden.

Example#2 Verwendung von stripslashes() in einem Array

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

    return 
$value;
}

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

// Ausgabe
print_r($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

)