0

可能重复:
如何将用户输入的换行符从 TEXTAREA 保存到数据库?

当我在 textarea 中按 ENTER KEY 时,它会转到换行符。但是,当我从操作页面收到此值时,它会转换为空白。我想从操作页面接收 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;
?>

如果我输入“这是我(PRESS ENTER KEY)这是他(PRESS ENTER KEY)”。我希望输出像“这是我(换行)这是他(换行)”。但我从 go.php 得到“这是我这是他”。这里没有任何换行符,而是空格。请任何人帮助我。为什么会发生。

4

2 回答 2

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);
?>
于 2013-01-04T21:40:44.623 回答
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);
?>
于 2013-01-04T21:49:22.773 回答