可能重复:
文本区域中的换行符
我有一个文本区域,用户在其中输入段落中的一些描述。现在我希望如果用户想要添加两个段落,他将按回车添加换行符。但是当我们将该值存储在数据库中时,该换行符不会被保存。
我想问一下,如果用户按 Enter 键添加换行符,那么它也应该保存在数据库中。
我正在使用 php。
谢谢
可能重复:
文本区域中的换行符
我有一个文本区域,用户在其中输入段落中的一些描述。现在我希望如果用户想要添加两个段落,他将按回车添加换行符。但是当我们将该值存储在数据库中时,该换行符不会被保存。
我想问一下,如果用户按 Enter 键添加换行符,那么它也应该保存在数据库中。
我正在使用 php。
谢谢
一个换行符应该是一个<br />
,两个应该表示一个段落中断。因此,只需在您的代码中查找您的两个"\n\n"
语句并将所有这些语句替换为</p><p>
然后将<p></p>
标签包装在整个字符串周围。
以下是应该执行的一系列步骤:
$input = $_POST['input'];
$input = trim($input)
从输入的开头和结尾删除所有额外的换行符和空格。$input = str_replace($input, "\n\n",'</p><p>');
$input = '<p>' . $input . '</p>';
- - 编辑 - -
最后一件事要记住。如果您不想在<p></p>
用户输入两个以上连续的换行符时出现一堆空标签,那么您需要注意这一点。
为了解决这个问题,请改为这样做。
$input = preg_replace("/\n(?:\n)+/",'</p><p>', $input)
//you may need to set the PHP PCRE multiline flag for this to work
您可以使用 mysql_real_escape_string($input); 这也可能会节省换行符。
使用 nl2br($content_here); 在检索时