文本区域中的换行符不显示 HTML 标记


line break in textarea without displaying HTML tags

我正在使用这个 HTML/PHP 代码

<textarea name="ticket_update" id="ticket_update" cols="70" rows="2"><?php echo 'Ticket '.$ticket["ticketnumber"].''n'.$result["notes"]; ?></textarea>

我尝试使用'n 'n'r<br />但它在文本区域中显示 HTML 标签。

如何阻止它们显示?

使用 &#10; 作为换行符。

喜欢这个:

<textarea name="ticket_update" id="ticket_update" cols="70" rows="2"><?php echo 'Ticket '.$ticket["ticketnumber"].'&#10;'.$result["notes"]; ?></textarea>

使用"'n"而不是''n'来显示换行符;

要从内容中删除 HTML 标记,请使用strip_tags()函数;

一个完整的示例如下所示:

<textarea name="ticket_update" id="ticket_update" cols="70" rows="2">
      <?php echo strip_tags('Ticket '.$ticket["ticketnumber"]."'n".$result["notes"]); ?> 
</textarea>

此外,看起来您的代码中可能会出现一些 PHP 通知或警告;如果您的$ticket数组没有ticketnumber键,您将收到包含一些HTML标记的错误消息;您应该检查是否存在与 array_key_exists 一起使用的每个键,或者使用如下所示@静音错误:

echo @strip_tags('Ticket '.$ticket["ticketnumber"]."'n".$result["notes"]);

文本区域不能有任何子元素。如果不希望错误恢复尝试呈现标记,则不要在元素中放置标记。

尝试 html_entity_decode()

<?php
$ticket = '50';
$nodes = 'sample'    
?>
<textarea name="ticket_update" id="ticket_update" cols="70" rows="2"><?php echo 'Ticket '.$ticket.html_entity_decode("'n").$nodes; ?></textarea>

演示输出

你可以试试这个:

<textarea name="ticket_update" id="ticket_update" cols="70" rows="2"><?php echo 'Ticket: '.$ticket["ticketnumber"].'&#10;'.$result["notes"]; ?> </textarea>
&#13;&#10; = line break

&#10; = 换行,&#13; = 回车

在这里演示