3

我需要在屏幕上打印一个 HTML 标签作为文本(而不是代码)。

我需要读者从字面上阅读标签。

这样做的最佳做法是什么?

print htmlspecialchars('<meta name="copyright" content="© Winston Smith, 1984">');

或者

print htmlentities('<meta name="copyright" content="© Winston Smith, 1984">');

或以上都不是。

  • 有没有更好的办法?
  • 我还应该考虑什么?
  • 最后一个问题 - 我应该使用打印、回声还是没有区别?

*编辑我*

我已经在 htmlentities() 中看到了字符“©”的问题。这只会证实我的怀疑——哪一个在所有情况下都可以安全使用——还有另一种方法可以将 html 标签打印为文本吗?

4

1 回答 1

10

基本上,使 HTML 像文本一样可读,你真正需要的是:

$out = strtr($input,Array("<"=>"&lt;","&"=>"&amp;"));

htmlspecialchars基本上是 的一个子集htmlentitieshtmlentities编码具有实体替代品的所有事物,即所有命名实体和少数代码。

于 2012-06-08T00:34:50.213 回答