如何通过在PHP中按Enter键将新行插入数据库?

时间:2013-01-04 21:38:06

标签: php html forms

  

可能重复:
  How to save user-entered line breaks from a TEXTAREA to a database?

当我按下textarea中的ENTER键时,它会转到换行符。但是当我从操作页面收到此值时,它会转换为空白区域。我希望从操作页面接收ENTER KEY字符作为换行符,而不是空格。 示例代码:这是HTML代码

<form action="go.php" method="POST">
<textarea name="aa" cols="10" rows="10"></textarea>
<form>

她是go.php代码:

<?php
$txt=$_POST['aa'];
echo $txt;
?>

如果我输入的话 “这是我(按下输入键)这是他(按下输入键)”。 我希望输出像 “这是我(换行)这是他(换行)”。 但是我从go.php那里得到了 “这就是我,这就是他”。 这里没有任何换行符,只有空格。 请有人帮帮我。为什么会这样。

2 个答案:

答案 0 :(得分:4)

我相信你想要nl2br。这将在字符串中的所有换行符之前插入HTML换行符。如果您打算将其存储在数据库中,则需要类似mysql_real_escape_string()的内容来逃避换行符。

<?php
echo nl2br("foo isn't\n bar");
?>

HTML看起来像:

foo isn't<br />
 bar

您的代码将如下所示:

<?php
$txt=$_POST['aa'];
echo nl2br($txt);
?>

答案 1 :(得分:2)

您需要使用 nl2br 功能来捕获和替换换行符。下面的工作代码;

<form action="go.php" method="POST">
<textarea name="aa" cols="10" rows="10"></textarea>
<input type="submit" value="s">
</form>
Here is the go.php code :

<?php
$txt=$_POST['aa'];
echo nl2br($txt);
?>