我有一个解码html实体浏览器显示的问题。我试图从一个wordpress博客显示博客的描述。文本是html实体编码之前,它被保存在数据库中。因此,为了显示,例如,一个超链接的文本必须是html实体解码回来,所以a-标签是正确呈现。
但是当我尝试解码文本时,它仍然显示为html实体。
解码前的输出:
echo(bloginfo( 'description' )); //output: Display a hyper link. <a href="">READ MORE</a>
被解码时的输出。这就是我的问题。它仍然没有被解码!查看输出
echo(html_entity_decode(bloginfo( 'description' ))); //output: Display a hyper link. <a href="">READ MORE</a>
当我试图硬编码要解码的文本时,它有效!
echo(html_entity_decode('Display a hyper link. <a href="">READ MORE</a>')); //output: Display a hyper link. <a href="">READ MORE</a>
我已经看了php手册,并尝试了不同的字符集和引用样式作为参数。但还是没有运气。
我做错了什么,有什么想法吗?
bloginfo函数不返回文本,而是直接回显文本。因此,你的"回声"实际上什么也回不到!
你应该阅读Wordpress手册:)
它清楚地说明将结果打印到浏览器,使用get_bloginfo代替。http://codex.wordpress.org/Function_Reference/bloginfo
为了清楚起见,它不起作用,因为bloginfo回显的是信息,它根本不返回它。您可以通过检查(通过使用var_dump) bloginfo.
您确定bloginfo
不会再对字符进行编码吗?
如果它重新编码它们,您的html_entity_decode
将简单地恢复到原始状态(已编码)。