Я использую этот код конфигурационный файл:..
// remove slashes, if they are being automatically added
if (get_magic_quotes_gpc()) {
$_GET = array_map('stripslashes', $_GET);
$_POST = array_map('stripslashes', $_POST);
$_COOKIE = array_map('stripslashes', $_COOKIE);
$_REQUEST = array_map('stripslashes', $_REQUEST); // see ThiefMaster's comment
}
Это единственное место, где я должен беспокоиться о слешами Во всех других местах, я могу с уверенностью предположить, что не существует никаких «волшебных кавычек»
Хотя, stripslashes()
не работает с массивами, поэтому, если вы ожидаете иметь массивы как значения в $ _GET, $ _POST или $ _COOKIE (в общедоступных веб-страницах/системах вы ожидаете наличия массивов), эта функция может использоваться как обратный вызов:
function stripslashes_recursive($value) {
if (is_array($value)) {
return array_map(__FUNCTION__, $value);
}
return stripslashes($value);
}
PHP 5.3 пользователи могут использовать замыкание в качестве обратного вызова:
$stripslashes = function($value) use(&$stripslashes) {
if (is_array($value)) {
return array_map($stripslashes, $value);
}
return stripslashes($value);
};
Это не будет загрязнять глобальный охват с дополнительной функцией (stripslashes_recursive()
).
Я думаю, что ваш вопрос должен состоять в том, как отключить магические цитаты –
no..i не хочу отключать его ..... скорее, я не могу .. с волшебными котировками на, мне нужен исходный ввод .. . Надеюсь, что вы получите то, что я пытаюсь сказать. –
* «... stripslashes ** ** ** ** удалил бы это также» * ...? Вы принимаете или пытаетесь? – deceze