资讯专栏INFORMATION COLUMN

JS转换HTML转义符 [转]

tanglijun / 647人阅读

摘要:最近有个需求,就是后台系统编辑文章内容存到后台,前端这边获取到是转义后的字符串,如果直接将转义后的内容写在页面上,标签不会被解析。

最近有个需求,就是后台系统编辑文章内容存到后台,前端这边获取到是转义后的字符串,如果直接将转义后的内容写在页面上,html标签不会被解析。网上找到觉得不错的功能函数,这里记录一下

//去掉html标签

function removeHtmlTab(tab) { 
 return tab.replace(/<[^<>]+?>/g,"");//删除所有HTML标签 
} 

//普通字符转换成转意符

function html2Escape(sHtml) { 
 return sHtml.replace(/[<>&"]/g,function(c){return {"<":"<",">":">","&":"&",""":"""}[c];}); 
}

//转意符换成普通字符

function escape2Html(str) { 
 var arrEntities={"lt":"<","gt":">","nbsp":" ","amp":"&","quot":"""}; 
 return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); 
}

// 转成空格

function nbsp2Space(str) { 
 var arrEntities = {"nbsp" : " "}; 
 return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]}) 
}

//回车转为br标签

function return2Br(str) { 
 return str.replace(/
?
/g,"
"); }

//去除开头结尾换行,并将连续3次以上换行转换成2次换行

function trimBr(str) { 
 str=str.replace(/((s| )*
?
){3,}/g,"

");//限制最多2次换行 
 str=str.replace(/^((s| )*
?
)+/g,"");//清除开头换行 
 str=str.replace(/((s| )*
?
)+$/g,"");//清除结尾换行 
 return str; 
}

// 将多个连续空格合并成一个空格

function mergeSpace(str) { 
 str=str.replace(/(s| )+/g," "); 
 return str; 
}

参考文章

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92239.html

相关文章

  • JSHTML []

    摘要:最近有个需求,就是后台系统编辑文章内容存到后台,前端这边获取到是转义后的字符串,如果直接将转义后的内容写在页面上,标签不会被解析。 最近有个需求,就是后台系统编辑文章内容存到后台,前端这边获取到是转义后的字符串,如果直接将转义后的内容写在页面上,html标签不会被解析。网上找到觉得不错的功能函数,这里记录一下 //去掉html标签 function removeHtmlTab(tab)...

    tommego 评论0 收藏0
  • 爬虫不得不学之 JavaScript 入门篇

    摘要:为数值固定的表示法,用来表示整数和浮点数的。无论你写何种进制,它的存储还是以二进制来存储的,所以这样就弄成了浮点数的存储精确度,浮点数只能精确到位小数。关系运算符关系运算符有和。赋值运算符赋值运算符有六个。 现在的爬虫越来越难了,不再和之前的那样,随便抓个包就可以找到相关的 url ,然后 post 一下或者 get 一下数据就出来了。还有一个可能就是可能你以前用来学习的爬虫网站太简单...

    tracymac7 评论0 收藏0
  • ES6—字串模板引擎(4)

    摘要:字符串模板引擎中的字符串缺乏多行字符串字符串格式化转义等特性。字符串中嵌入变量模板字面量看上去仅仅是普通字符串的升级版,但二者之间真正的区别在于模板字面量的变量占位符。黑子在上面的代码中,就是模板标签。 字符串模板引擎 ES5中的字符串缺乏多行字符串、字符串格式化、HTML转义等特性。 而ES6通过模板字面量的方式进行了填补,模板字面量试着跳出JS已有的字符串体系,通过一些全新的方法来...

    cnio 评论0 收藏0
  • 一步一步写一个简单的js版quine程序

    摘要:感觉挺有意思的,于是打算自己用写一个试试。为有趣起见,准备从一个打印本站域名的额外功能开始这个命令可以在控制栏打印出一行。接下来我准备一步一步改造这个命令,直至达成的目标。注意到源码里外用了不同的引号,这是为了规避转义符。 原文自转->这里 早上看了justjavac大大的一篇文章:javascript 的 quine 程序升级版,了解了一下所谓quine程序的概念: 一个 ...

    AJie 评论0 收藏0
  • 正则表达式的元字,又及和ASCII码之间的关系小解

    摘要:现在解释和正则匹配中的转义字符之间的关系其实中的转义字符和正则中的转义字符是同一样东西,都是特殊意义的字符,也算对中一些特殊字符或不能显示的字符的定义或别称。 1、正则表达式的组合 正则表达式由元字符和转义字符组成 元字符有 ^ :断言目标的开始位置(或多行模式下的行首位置) $ :断言目标的介绍位置(或多行模式下的结尾位置) . :匹配除换行符外的其他任何字符 [ :匹配字...

    Jensen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<