У меня есть следующий код в верхней части каждого из моих PHP страниц:Undo mysql_real_escape_string
<?php
function name_format($str)
{
return trim(mysql_real_escape_string(htmlspecialchars($str, ENT_QUOTES)));
}
?>
foreach ($_POST as $key => $value) {
if (!is_array($value))
{
$_POST[$key] = name_format($value);
}
}
Это было очень полезно до сих пор. Я испытал, что, если я хочу отобразить текст из <textarea>
, прежде чем записывать его в базу данных, тогда вместо обычных разрывов строк он отображает «\ r \ n». Даже если я пытаюсь сделать следующее, он не работает:
$str = str_replace("\r\n", "<br>", $str);
Не будет * не делать это в первую очередь * быть лучше, чем делать и уничтожать его? :) 'mysql_real_escape_string()' действительно должен использоваться только с целью ускорения данных перед тем, как делать запрос. –
Почему вы * присваиваете * '$ _POST'? Это действительно странно. – tadman
'echo nl2br ($ str);'? – Martijn