输入php文件的代码如下。
<!DOCTYPE html>
<html>
<body>
<form name="input" action="welcome.php" method="post">
Comment: <textarea name="input" rows="5" cols="40"></textarea>
<input type="submit" value="Submit">
</form>
</body>
</html>
输出代码如下:
<html>
<body>
Welcome <?php $a=$_POST["input"]; echo $a; ?><br>
</body>
</html>
当输入任何带有额外空格和换行符的内容时,它会自动删除。例如:
当我输入时:
abcd
cda xyzb
输出是:
Welcome abcd cda xyzb
答案 0 :(得分:2)
这是因为新行字符表示为\r\n
,在源代码中您将看到新行。如果在HTML中跟随另一个空格,则空格会被截断。
我建议您使用<pre>
标记,不仅可以保存新行(如php的nl2br()
),还可以保留空格强>
<pre>
:<html>
<body>
<pre class="yourStyleForThisPreFormattedText">
Welcome <?php $a = $_POST["input"];
echo $a; ?>
</pre>
</body>
</html>
)和PHP函数:<html>
<body>
Welcome <?php $a = nl2br(str_replace(' ', ' ', $_POST["input"]), true);
echo $a; ?>
</body>
</html>
注意:
对于HTML4和HTML5使用nl2br($str, true);
,对于XHTML4使用nl2br($str);
- 区别在于输出:<br>
和<br />
。见http://php.net/nl2br
答案 1 :(得分:0)
要显示换行符,请使用nl2br()
<html>
<body>
Welcome <?php $a = nl2br($_POST["input"]);
echo $a; ?><br>
</body>
</html>
您还可以添加<pre>
标记以显示预先格式化的文本(所有空格)。
答案 2 :(得分:0)
更改
<textarea name="input" rows="5" cols="40"></textarea>
向
<textarea name="input" rows="5" cols="40" wrap="virtual"></textarea>
你也可以使用wrap:off,hard,soft,physical
答案 3 :(得分:-1)
试试这个......
Welcome <?php echo htmlentities($_POST['input']); ?>
htmlentities()
转换您的HTML。