可能重复:
文本区域中的换行符
我有一个文本区域,用户在其中输入一些段落中的描述。现在我想,如果用户想添加两段,他会按enter添加换行符。但当我们将该值存储在数据库中时,换行符就不会被保存。
我想问一下,如果用户按enter键添加换行符,那么它也应该保存在数据库中。
我正在使用php。
感谢
一个换行符应为<br />
,两个换行符表示段落换行。因此,只需在代码中查找两个"'n'n"
语句,并用</p><p>
替换所有这些语句,然后将<p></p>
标记包裹在整个字符串中。
以下是应该采取的一系列步骤:
- 提交到您的PHP服务器并设置
$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_sescape_string($input);这可能也会节省换行。
使用nl2br($content_here);检索时
http://php.net/manual/en/function.nl2br.php