可能重复:
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那里得到了 “这就是我,这就是他”。 这里没有任何换行符,只有空格。 请有人帮帮我。为什么会这样。
答案 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);
?>