gpt4 book ai didi

javascript - HTML 实体解码

转载 作者:IT老高 更新时间:2023-10-28 11:04:15 26 4
gpt4 key购买 nike

如何使用 JavaScript 或 JQuery 编码和解码 HTML 实体?

var varTitle = "Chris' corner";

我希望它是:

var varTitle = "Chris' corner";

最佳答案

我建议不要使用被接受为答案的 jQuery 代码。虽然它不会将要解码的字符串插入到页面中,但它确实会导致创建脚本和 HTML 元素等内容。这比我们需要的代码多得多。相反,我建议使用更安全、更优化​​的函数。

var decodeEntities = (function() {
// this prevents any overhead from creating the object each time
var element = document.createElement('div');

function decodeHTMLEntities (str) {
if(str && typeof str === 'string') {
// strip script/html tags
str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
element.innerHTML = str;
str = element.textContent;
element.textContent = '';
}

return str;
}

return decodeHTMLEntities;
})();

http://jsfiddle.net/LYteC/4/

要使用这个函数,只需调用 decodeEntities("&") 它将使用与 jQuery 版本相同的底层技术——但没有 jQuery 的开销,并且在清理 HTML 标签之后输入。见 Mike Samuel's comment关于如何过滤掉 HTML 标签的公认答案。

通过在项目中添加以下行,可以轻松地将这个函数用作 jQuery 插件。

jQuery.decodeEntities = decodeEntities;

关于javascript - HTML 实体解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5796718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com