htmlspecialchars();不工作

htmlspecialchars(); don't work

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

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

我想查看 HTML 个实体,例如:

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

但我看到了这个:

<a>w3s.com</a>

并且在浏览器中 HTML 标记不显示 HTML 实体。 请帮忙。感谢 (对不起,如果我的句子构建词的构建令人毛骨悚然。)

如果你想让浏览器显示特殊字符你应该这样写:

<?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

使用 htmlentities 代替 htmlspecialchars 怎么样?