我需要在屏幕上打印一个html标签作为文本(而不是代码)。
我需要读者仔细阅读标签。
这样做的最佳做法是什么?
print htmlspecialchars('<meta name="copyright" content="© Winston Smith, 1984">');
或
print htmlentities('<meta name="copyright" content="© Winston Smith, 1984">');
或者以上都没有。
有更好的办法吗?
我还应该考虑什么?
最后一个问题-我应该使用print,echo还是没有
差异?
*编辑I*
我已经看到htmlEntities()的字符“)”有问题。
这只证实了我的怀疑-哪一个在所有情况下都是安全的-还有没有其他方式打印HTML标记为文本?
最佳答案
基本上,要使html作为文本可读,您真正需要的是:
$out = strtr($input,Array("<"=>"<","&"=>"&"));
htmlspecialchars
基本上是htmlentities
的一个子集。htmlentities
编码所有具有实体选项的内容,即所有命名实体和少量代码。