首页 > 技术文章 > html与字符之间的转义

liuguoying 2019-09-12 17:38 原文

各种搜索,印象中有可以直接转换的方法,但是查了一会,很毛躁,没找到,所以,就用了网上说的,用正则把 html那个标签的尖括号“<",">”替换;但是后来还是没忍住,查阅了官方。

 

  • 第一种,这个方法,较为通用。

encodeURI() (将特殊的html字符转义为UTF-8字符)

官方这么说的:函数适用于将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成。

decodeURI() (将解码过后的字符转为正常的字符)

官方这么说的:函数解码一个由encodeURI 先前创建的统一资源标识符(URI)或类似的例程。

参考官文:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

实践如下:

encodeURI() 
decodeURI()   

 控制台例子如下:

 

 

  • 第二种,这个方法,只适用于已知编码下的特殊字符的转换,

如网文所示:

//把HTML格式的字符串转义成实体格式字符串
function escapeHTMLString(str) {
    str = str.replace(/</g,'<');
    str = str.replace(/>/g,'>');
    return str;
}

//把实体格式字符串转义成HTML格式的字符串
function escapeStringHTML(str) {
    str = str.replace(/</g,'<');
    str = str.replace(/>/g,'>');
    return str;
}
 

 

 

推荐阅读