React开发过程中,有时需要使用原生的HTML,用于动态渲染HTML,
比如存在数据库中的,可编辑的HTML
实现代码如下:
const htmlString= '<p>Hello World</p>'
render () {
return (
<div
className='editor-wrapper'
dangerouslySetInnerHTML={{__html: htmlString }} />
)
}
有时,获取htmlString为了便于json传送,往往拿到到html字符串是对一些特殊的字符进行转义过了
这时,需要进行解义
function htmlspecialchars_decode(str){
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/"/g, '"');
str = str.replace(/'/g, "'");
return str;
}
再附上html转义的方法
function htmlspecialchars(str){
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/"/g, '"');
str = str.replace(/'/g, ''');
return str;
}