我需要在屏幕上打印HTML标签作为文本(而不是代码)。
我需要读者逐字阅读标签。
这样做的最佳做法是什么?
print htmlspecialchars('<meta name="copyright" content="© Winston Smith, 1984">');
或
print htmlentities('<meta name="copyright" content="© Winston Smith, 1984">');
或以上都不是。
* 编辑我 *
我已经在htmlentities()中看到了字符“©”的问题。 这只能证实我的怀疑 - 对所有情况都可以使用哪一种 - 还有另一种方法可以将html标签打印成文本吗?
答案 0 :(得分:10)
基本上你真正需要将HTML作为文本可读的是:
$out = strtr($input,Array("<"=>"<","&"=>"&"));
htmlspecialchars
基本上是htmlentities
的子集。 htmlentities
编码具有实体替代的一切,即所有命名实体和少数代码。