【问题标题】:Preserving line breaks in an html form在 html 表单中保留换行符
【发布时间】:2017-04-14 03:56:22
【问题描述】:

我有一个($bio) 形式的文本区域,用户可以在其中将文本保存到 MySQL 数据库。 我正在尝试保留用户可能在文本中进行的任何换行符。

文本以我想要的方式显示在另一个页面上(这样做):

<?php echo nl2br(htmlspecialchars($bio));?>

但是在表单页面中显示了使换行符的html代码(像这样)

There is a line break<br />
here<br />
<br />

如何隐藏这段 html 代码?

表格

<textarea name="bio" id="bio" placeholder="<?php echo  nl2br(htmlspecialchars($bio));?>"><?php echo nl2br(htmlspecialchars($bio));?></textarea>

谢谢。

【问题讨论】:

  • 来自 PHP doc comments,你可以做类似function back2nl($string) { return preg_replace('#&lt;br\s*/?--&gt;#i', "\n", $string); } 的事情(有很多)
  • 我明白了。我不太清楚应该在哪里使用 preg_replace:&lt;textarea name="bio" id="bio" placeholder="&lt;?php echo nl2br(htmlspecialchars($bio));?&gt;"&gt;&lt;?php echo nl2br(htmlspecialchars($bio));?&gt;&lt;/textarea&gt;
  • 我通常会将文本值分配给 $var 然后执行函数,然后在 textarea 中回显它
  • 如果你成功了告诉我
  • 是的,这行得通。非常感谢。

标签: php html


【解决方案1】:

from PHP doc comments你可以做类似的事情

function back2nl($string) {
return preg_replace('#<br\s*/?-->#i', "\n", $string); }

(有很多)

我通常会将文本值分配给 $var 然后执行函数,然后在 textarea 中回显它

【讨论】:

    猜你喜欢
    • 2018-08-21
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多