Другая проблема с полосками
Я не нашел реального решения для этого. Как и многие другие, сейчас я использую редактор jquery wysiwyg и сохраняю вывод в mysql. Проблема возникает, когда я снова загружаюсь в редактор и сохраняю его снова. Обратная косая черта и метки "увеличиваются каждый раз, когда я нажимаю" Отправить ". Конечно, перед записью в БД я делаю mysql_real_escape_string()
,
Я использую strpslashes рекурсивно, но это не работает.
function decodeEscapedString($value) {
if (get_magic_quotes_gpc()) {
$value = is_array($value) ?
array_map(array('self', 'decodeEscapedString'), $value) :
stripslashes($value);
return $value;
} else
return stripslashes($value);
}
Может ли кто-нибудь иметь идею? Спасибо
1 ответ
Я бы сказал, что у вас есть небольшая логическая ошибка, а также возможная ошибка ссылки, где у вас есть 'self'
в array_map()
,
Предполагая, что это метод класса, попробуйте что-то вроде этого
public function filter($value)
{
return get_magic_quotes_gpc() ? $this->clean($value) : $value;
}
protected function clean($value)
{
return is_array($value) ? array_map(array($this, 'clean'), $value) : stripslashes($value);
}
Вы тогда просто позвоните filter()
метод, например
$value = $obj->filter($_POST['something']);
Адаптировано с http://blog.philipbrown.id.au/2008/10/zend-framework-forms-and-magic_quotes_gpc/