html中几个符号的转义和还原
将str中的html符号转义,将转义“',&,<,",>,”,“”七个字符
/**
* 将str中的html符号转义,将转义“',&,<,",>,”,“”七个字符
* @method unhtml
* @param { String } str 需要转义的字符串
* @return { String } 转义后的字符串
* @example
* ```javascript
* var html = '<body>&</body>';
*
* //output: <body>&</body>
* console.log( UE.utils.unhtml( html ) );
*
* ```
*/
unhtml: function(str, reg) {
return str
? str.replace(
reg || /[&<">'](?:(amp|lt|ldquo|rdquo|quot|gt|#39|nbsp|#\d+);)?/g,
function(a, b) {
if (b) {
return a;
} else {
return {
"<": "<",
"&": "&",
'"': """,
"“": "“",
"”": "”",
">": ">",
"'": "'"
}[a];
}
}
)
: "";
}
将str中的转义字符还原成html字符
/**
* 将str中的转义字符还原成html字符
* @see UE.utils.unhtml(String);
* @method html
* @param { String } str 需要逆转义的字符串
* @return { String } 逆转义后的字符串
* @example
* ```javascript
*
* var str = '<body>&</body>';
*
* //output: <body>&</body>
* console.log( UE.utils.html( str ) );
*
* ```
*/
html: function(str) {
return str
? str.replace(/&((g|l|quo|ldquo|rdquo)t|amp|#39|nbsp);/g, function(m) {
return {
"<": "<",
"&": "&",
""": '"',
"“": "“",
"”": "”",
">": ">",
"'": "'",
" ": " "
}[m];
})
: "";
},