用htmlspecialchars();不工作

时间:2015-01-31 22:46:34

标签: html htmlspecialchars

当我使用" htmlspecialchars"在这段代码中:

<?php
$test = htmlspecialchars("<a>w3s.com</a>");
echo $test;
?>

我希望看到HTML entites,例如:

&quot;&gt;&lt;script&gt;alert - for example.

但我明白这一点:

<a>w3s.com</a>

在浏览器中,HTML标记并不显示HTML引用。 请帮忙。谢谢 (对不起,如果我建造的文字建筑很怪异。)

2 个答案:

答案 0 :(得分:1)

如果您希望浏览器显示特殊字符,您应该写如下:

<?php
$test = htmlspecialchars(str_replace(array("'", "\""), "", 
    htmlspecialchars("<a>w3s.com</a>")));
echo $test;
?>

输出:&lt;a&gt;w3s.com&lt;/a&gt;

这样您就可以转义特殊字符,以便让浏览器绘制它们

如果您想查看浏览器呈现的HTML实体,只需编写HTML代码,如下所示:

<?php
$test = '<a href="http://w3s.com">Enter here</a>';
echo $test;
?>

输出:Enter here

我认为您忘记放置href属性,因此它不会将其显示为锚点。有关详细信息,请访问this w3schools' article

答案 1 :(得分:-1)

使用htmlentities代替htmlspecialchars怎么样?