防止使用标签

时间:2017-07-17 11:12:39

标签: html css web

用户可以在我的网站上发送评论,这些评论显示在表格中。问题是,如果用户发送例如<h1>Hello</h1>的评论,评论将显示为

Hello

,而不仅仅是<h1>Hello</h1>。什么是可能的解决方案?

3 个答案:

答案 0 :(得分:1)

您可以使用htmlentities

<?php

  $comments = "A 'quote' is &lt;b&gt;bold&lt;/b&gt;"; 
  echo "<textarea>".htmlentities($comments )."</textarea>";

 ?>

DEMO :: http://phpfiddle.org/main/code/n0sf-b7ka

  

你也可以这样做。

  if (isset($_POST["submit"]) && !empty($_POST["comments"])) {

       $comments = $_POST["comments"];

      echo "<textarea>".htmlentities( $comments )."</textarea>";

  }

答案 1 :(得分:0)

如果您使用PHP作为服务器端,则可以使用strip_tags()函数从注释文本中删除所有html标记。 https://www.w3schools.com/php/func_string_strip_tags.asp

答案 2 :(得分:0)

关于缺乏详细信息,我可以向您提出这个解决方案:

使用String替换转换所有标记,如下所示:

<h1>Hello</h1>

应该成为

&lt;h1&gt;Hello&lt;/h1&gt;

i.e. '<' should be replaced with '&lt;', '>' with '&gt;'