HTML/PHP中textarea多行输入提交后显示为单行的解决方法
修复多行文本提交后显示为单行的问题
问题原因
浏览器渲染HTML内容时,会将文本中的换行符(\n或\r\n)识别为普通空格,因此直接echo从textarea提交的多行文本时,会显示为单行。
解决方案
方案1:使用PHP内置函数nl2br()
nl2br()函数会把字符串中的换行符转换为HTML的<br>标签,让浏览器正确解析换行。修改next.php中的输出代码:
<?php if(isset($_POST["submit"])) { $desc = $_POST["desc"]; echo nl2br($desc); // 替换原echo行 } else { header("location: first.php"); }
方案2:用<pre>标签包裹输出
<pre>标签会保留文本的原始格式(包括换行、空格),适合需要完整保留输入排版的场景:
<?php if(isset($_POST["submit"])) { $desc = $_POST["desc"]; echo "<pre>$desc</pre>"; // 用pre标签包裹输出内容 } else { header("location: first.php"); }
内容的提问来源于stack exchange,提问作者LakshyaK2011
相关产品推荐
相关产品推荐

