jQuery只显示HTML中的纯HTML,不包括htmlentities

时间:2015-06-26 12:25:28

标签: javascript php jquery html

我目前正在显示数据库中的帖子,这是我数据库中“消息”字段的示例。 Alice超链接链接到用户的个人资料,而?<等都是用户自己指定的HTML。

<a href="/profile/Alice">Alice</a> Alice, you there?&lt;strong&gt;are you here?&lt;/strong&gt;

现有的js

$.get('/getUserPosts?id=2', function(data) {
    $.each(data, function(){
        $("#posts").append('<div class="user-post">'+this.content+'</div>');
    });
});

如上所示,链接部分是纯HTML,而后面的部分是一些html实体。当我通过jQuery在我的网页上显示我的代码时,它会显示所有HTML内容。

我怎样才能使它只显示上面的纯HTML(Alice超链接),并且html实体(?&lt;你在这里?&lt;)保持文本形式? (但仍然可见)

  

当前显示[注意@Alice是一个超链接]:@ Alice Alice,你   那里? 你在这里吗?

     

预期显示[注意@Alice是超链接]:@ Alice Alice,你   那里? <strong>你在这里吗?</strong>

谢谢!

编辑:我正在使用追加将它们包含在div中。

1 个答案:

答案 0 :(得分:0)

它包括:

$('#test').each(function(){
    var $this = $(this);
    var t = $this.text();
    $this.html(t.replace('&lt','<').replace('&gt', '>'));
});

在这里:(由Jared Farrish制作)

http://jsfiddle.net/XS5kY/