[英]newline character not converting to line break in php text area post
当我分配带有换行符的文本并使用 nl2br function 时,它将换行符转换为换行符,但 textarea 帖子不会发生同样的情况。 我想知道为什么会发生这种情况,以及如何将换行符从表单的 textarea 帖子转换为回显时的换行符。 下面是我的代码:
<?php
if(isset($_POST['comment'])){
$var = "One line.\nAnother line.";
echo nl2br($var);
echo nl2br($_POST['comment']);
// One line.\nAnother line.
}
?>
<!DOCTYPE html>
<html>
<body>
<form method="post" action="">
<label for="lname">Commment</label><br>
<textarea name="comment" rows="5" cols="40">One line.\nAnother line.</textarea><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
您需要在<textarea>
中使用实际的换行符。 \n
不会在那里工作。
nl2br
将换行符转换为 html <br>
。
使用 php-code,您可以像这样添加换行符:
<textarea name="comment" rows="5" cols="40">One line.<?= "\n" ?>Another line.</textarea>
或者你简单地写:
<textarea name="comment" rows="5" cols="40">One line.
Another line.</textarea>
如果要重用提交的值:
<textarea name="comment" rows="5" cols="40"><?= htmlentities($_POST['comment']) ?></textarea>
在这里要小心,您想使用htmlentities($_POST['comment'])
清理用户输入,否则用户将能够更改页面。
<?= $var?>
是<?php echo $var; ?>
<?php echo $var; ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.