PHP将字符串编码为HTML

时间:2017-02-09 09:21:09

标签: php wordpress html-encode

我有以下代码,来自Wordpress核心文件/wp-admin/includes/class-wp-posts-list-table.php

byte myByte = 067;

System.out.println("Byte value: " + myByte);

在我的例子中,变量$ title包含iconfont 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
  );

enter image description here

PHP代码使Web浏览器将HTML字符显示为字符串,而不是我之后显示为HTML并呈现Font Awesome Icon。

我试过在

中包装$ title
  <i class="fa fa-heart"></i> 

有人可以帮助吗

1 个答案:

答案 0 :(得分:3)

你在哪里使用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)
  );

似乎有效。

但这是改变核心文件的不可思议的想法。您可以尝试编写(或查找)某些插件,该插件允许将图标添加到特定的帖子标题,但不能添加到所有帖子,也不会更改原始文件。