用于在javascript中转义引号的函数?
JavaScript中是否有与PHP中的用于在javascript中转义引号的函数?,javascript,php,quotes,Javascript,Php,Quotes,JavaScript中是否有与PHP中的htmlentities($string,entu QUOTES)相同的函数?我找了很多,但找不到,每个人都推荐regex 在我尝试之前,我只是想确定没有其他更简单的方法 它是PHP的htmlentities函数的“端口”: function htmlEntities(str) { return String(str).replace(/&/g, '&').replace(/</g, '<').repla
htmlentities($string,entu QUOTES)
相同的函数?我找了很多,但找不到,每个人都推荐regex
在我尝试之前,我只是想确定没有其他更简单的方法
它是PHP的htmlentities函数的“端口”:
function htmlEntities(str) {
return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
}
函数属性(str){
返回字符串(str).replace(//&/g,“&;”).replace(//g,”).replace(//“/g,”);
}
好吧,PHP.js实现了这一点:
JavaScript没有任何方便的函数来生成转义HTML JavaScript中HTML的转义数据通常使用DOM方法完成,避免将HTML字符串完全混合在一起
element.setAttribute("data-foo", 'Example value with a " in it');
在大多数需要将文本转换为HTML字符串的情况下(即,将其放入当前文档不是最终目标),解决方法是创建一个div元素,然后在其上使用DOM方法,然后读取div的
innerHTML
属性。您可能正在查找该属性
var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
return '&#'+i.charCodeAt(0)+';';
});
var encodedStr=rawStr.replace(/[\u00A0-\u9999\&]/gim,函数(i){
返回''+i.charCodeAt(0)+';';
});
请注意
此代码将用其html实体等价物替换给定范围内的所有字符(unicode 00A0-9999,以及大于和小于的符号),即nnn;其中nnn是我们从charCodeAt获取的unicode值
var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
return '&#'+i.charCodeAt(0)+';';
});