文本区域中的换行符


Line break in Text Area

可能重复:
文本区域中的换行符

我有一个文本区域,用户在其中输入一些段落中的描述。现在我想,如果用户想添加两段,他会按enter添加换行符。但当我们将该值存储在数据库中时,换行符就不会被保存。

我想问一下,如果用户按enter键添加换行符,那么它也应该保存在数据库中。

我正在使用php。

感谢

一个换行符应为<br />,两个换行符表示段落换行。因此,只需在代码中查找两个"'n'n"语句,并用</p><p>替换所有这些语句,然后将<p></p>标记包裹在整个字符串中。

以下是应该采取的一系列步骤:

  1. 提交到您的PHP服务器并设置$input = $_POST['input'];
  2. 执行$input = trim($input)以删除输入开头和结尾的所有额外换行符和空白
  3. 然后执行$input = str_replace($input, "'n'n",'</p><p>');
  4. 然后执行$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