我从已经消毒的数据库中获取html数据.
基本上我得到的是这样的:
<div class="someclass"><blockquote>
<p>something here.</p>
</blockquote>
Run Code Online (Sandbox Code Playgroud)
等等.因此,如果我尝试显示它,它显示为
<div class="someclass"><blockquote> <p>something here</p> </blockquote>
Run Code Online (Sandbox Code Playgroud)
我想要的是在显示之前将其转换为正确的html,以便在没有标签的情况下正确显示内容.
使用javascript最简单的方法是什么?
我想在此注意我正在Adobe AIR中工作.所以我没有任何其他选择.
CMS*_*CMS 35
您可以创建一个元素,将编码的HTML分配给其innerHTML,并从插入时创建的文本节点中检索nodeValue.
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes[0].nodeValue;
}
htmlDecode('<div class="someclass"><blockquote> <p>" ' +
'something" here.</p>Q</blockquote>')
// returns :
// "<div class="someclass"><blockquote> <p>"something" here.</p>Q</blockquote>"
Run Code Online (Sandbox Code Playgroud)
请注意,此方法应适用于所有HTML字符实体.
这可能会有所帮助:
String.prototype.deentitize = function() {
var ret = this.replace(/>/g, '>');
ret = ret.replace(/</g, '<');
ret = ret.replace(/"/g, '"');
ret = ret.replace(/'/g, "'");
ret = ret.replace(/&/g, '&');
return ret;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15088 次 |
| 最近记录: |