簡體   English   中英

php 文本區域帖子中的換行符未轉換為換行符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM