在textarea中换行而不显示HTML标签

时间:2013-09-27 09:34:51

标签: php html

我正在使用此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 />,但它正在textarea中显示HTML标记。

我怎么能阻止他们显示?

5 个答案:

答案 0 :(得分:0)

使用"\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"]);

答案 1 :(得分:0)

textarea不能包含任何子元素。如果您不希望错误恢复尝试呈现标记,则不要将标记放在元素中。

答案 2 :(得分:0)

你可以试试这个:

<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; =回车

DEMO HERE

答案 3 :(得分:0)

尝试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>

<强> Demo Output

答案 4 :(得分:0)

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

像这样:

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