HTML textarea根据用户输入转换为PHP中的echo,并带有换行符

时间:2017-10-18 17:02:00

标签: php html

我在HTML中的textarea

Description<br><textarea name="description" rows="5" cols="27"></textarea>

在我的PHP文件中,我有:

$desc = $_POST['description'];
echo $desc . "<br>"; // needs line breaks as per user input in textarea.

我在<br>中使用的echo只是在提交表单时在输入其他内容之前和之后放置一些空间。

当提交表单时,输入到描述框中的文本将显示,但是当按下回车键时,它会在一行上而不会按textarea中所示进行分解。

如何将描述框中的中断包含到PHP echo

编辑: 我用过......

        echo "<pre>" . $desc . "<br>";

在我的PHP文件中,运行良好。谢谢!

3 个答案:

答案 0 :(得分:1)

您可以将文本放在<pre>元素或具有CSS属性的任何元素中:

white-space: pre;

将保留空白区域以及原始文本(即您无需修改​​已提供的值)。

请注意您允许注入HTML的内容,因为所有用户输入都不安全,并且为大量HTML注入攻击提供了机会。

.output {
    white-space: pre;
}
<div class="output">This is sample output.
And it has line breaks.
So it is three lines.</div>

答案 1 :(得分:1)

尝试使用:

echo $desc = nl2br($_POST['description']) . "<br>";

nl2br的手册。可以在下面的链接中找到

http://php.net/manual/en/function.nl2br.php

答案 2 :(得分:0)

echo $desc = nl2br($_POST['description']) . "<br>";

是一个简单的单行解决方案:)