我有一个基本的textarea表格。我要做的是在提交后删除textarea中的所有换行符。
这是我的PHP:
<?php
if (isset ($_POST['comment_form_submit'])) {
$body = mysql_real_escape_string($_POST['body']);
$breaks = array("\r\n", "\n", "\r");
$newtext = str_replace($breaks, "", $body);
echo $newtext;
}
?>
现在让我说填写表单时我按Shift + Enter,在我的字符串中创建一个\ n,但在提交表单后,$ newtext仍然等于“\ n”,不应该“\ n”删除,因为我用“”
替换它感谢。
答案 0 :(得分:12)
问题是你首先逃脱了\n
的MySQL。试试这个:
<?php
if (isset ($_POST['comment_form_submit'])) {
$body = $_POST['body'];
$breaks = array("\r\n", "\n", "\r");
$newtext = str_replace($breaks, "", $body);
$newtext = mysql_real_escape_string($newtext);
echo $newtext;
}
?>
了解您正在使用的转义函数,以了解原因:http://php.net/mysql_real_escape_string
答案 1 :(得分:0)
请使用以下代码, 或者复制粘贴CK编辑器中的内容并替换你想要替换的字符......
<?php
$desc = trim(stripslashes($crw['Description']));
$desc=str_replace(","," ",$desc);
$desc=str_replace("\r\n"," ",$desc);
$desc=str_replace("\n"," ",$desc);
$desc=str_replace("<br>"," ",$desc);
$desc=str_replace("<br />"," ",$desc);
echo $desc; ?>