2017-02-09 95 views
0

我有下面这段代码,它来自WordPress的核心文件/wp-admin/includes/class-wp-posts-list-table.phpPHP编码字符串作为HTML

printf(
    '<a class="row-title" href="%s" aria-label="%s">%s%s</a>', 
    get_edit_post_link($post->ID), 
    /* translators: %s: post title */ 
    esc_attr(sprintf(__('&#8220;%s&#8221; (Edit)'), $title)), 
    $pad, 
    $title 
); 

在我的情况,可变$标题包含iconfont HTML即

<i class="fa fa-heart"></i> 

enter image description here

的PHP代码都让网络浏览器中显示HTML字符的字符串,而不是我追求的是显示为HTML和渲染日e字体真棒图标。

伊夫试图

htmlentities() 
html_entity_decode() 
htmlspecialchars() 

包装$的标题可以有人帮忙感谢名单

+0

你试过了吗? 'htmlentities($ title,ENT_HTML5);' –

回答

2

你在哪里使用html_entity_decode?我试过这个:

printf(
    '<a class="row-title" href="%s" aria-label="%s">%s%s</a>', 
    get_edit_post_link($post->ID), 
    /* translators: %s: post title */ 
    esc_attr(sprintf(__('&#8220;%s&#8221; (Edit)'), $title)), 
    $pad, 
    html_entity_decode($title) 
); 

似乎它的工作原理。

但是这是改变核心文件的坏主意。您可以尝试编写(或查找)一些插件,允许将图标添加到具体的帖子标题中,但不能添加到所有帖子,也不会更改原始文件。

+0

是的,这可以起作用thanx,我在第一次尝试时忽略了这一点,因为没有显示任何内容,但后来我意识到Font Awesome css文件未包含在管理端 – grasesed