Eine Funktion, die etwas "Intelligenz" bei der Säuberung der Ausgabe vor "Escapes" (\) verwendet. Ganz egal, ob der String aus POST, GET, COOKIE (mit ein- oder ausgeschaltetem "magic_quotes_gpc") kommt oder aus der Datenbank ("escaped" oder nicht), er wird korrekt aber ohne Escape-Zeichen (\) ausgegeben.
function seq_remove_slashes_($string_ = '') {
if (get_magic_quotes_gpc()) {
$string_ = stripslashes($string_);
}
$orig = $string_;
$stripped = stripslashes($orig);
if ($orig != $stripped) {
$escaped = addslashes($stripped);
if ($orig == $escaped) {
$sec_value = stripslashes($escaped);
} else {
$sec_value = $orig;
}
} else {
$sec_value = $orig;
}
return $sec_value;
}
| c:\doc | c:\doc |
| Eingabe | Ausgabe |
|---|---|
| c:\\doc | c:\doc |
| O\'Reilly | O'Reilly |
| c:\\doc\\O\'Reilly | c:\doc\O'Reilly |
| c:\doc\O'Reilly | c:\doc\O'Reilly |
ANMERKUNG:
Die Funktion entscheidet nicht für Teilstrings, ob eine Konvertierung erfolgt oder nicht. Wenn die Eingabe also gemischte ("escapte" und nicht "escapte") Stringstücke enthält, wird NICHT konvertiert.
| c:\doc\O\'Reilly | c:\doc\O\'Reilly |
Keine Kommentare:
Kommentar veröffentlichen