Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在javascript中转义引号的函数?_Javascript_Php_Quotes - Fatal编程技术网

用于在javascript中转义引号的函数?

用于在javascript中转义引号的函数?,javascript,php,quotes,Javascript,Php,Quotes,JavaScript中是否有与PHP中的htmlentities($string,entu QUOTES)相同的函数?我找了很多,但找不到,每个人都推荐regex 在我尝试之前,我只是想确定没有其他更简单的方法 它是PHP的htmlentities函数的“端口”: function htmlEntities(str) { return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').repla

JavaScript中是否有与PHP中的
htmlentities($string,entu QUOTES)
相同的函数?我找了很多,但找不到,每个人都推荐regex

在我尝试之前,我只是想确定没有其他更简单的方法

它是PHP的htmlentities函数的“端口”:

function htmlEntities(str) {
    return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}
函数属性(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)+';';
});