JS转换HTML转义符

首先说明下用途:

当使用到ueditor的时候,无论ajax提交还是form提交,都应把编辑器的html内容转义了(我使用的第二种),不然ajax的序列化等提交后台,参数会丢值.

//去掉html标签

1
2
3
function removeHtmlTab(tab) {
 returntab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签
}

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

1
2
3
function html2Escape(sHtml) {
 returnsHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});
}

//转意符换成普通字符

1
2
3
4
function escape2Html(str) {
 vararrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
 returnstr.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){returnarrEntities[t];});
}

// &nbsp;转成空格

1
2
3
4
function nbsp2Space(str) {
 vararrEntities = {'nbsp': ' '};
 returnstr.replace(/&(nbsp);/ig, function(all, t){returnarrEntities[t]})
}

//回车转为br标签

1
2
3
function return2Br(str) {
 returnstr.replace(/\r?\n/g,"<br />");
}

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

1
2
3
4
5
6
function trimBr(str) {
 str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行
 str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,'');//清除开头换行
 str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,'');//清除结尾换行
 returnstr;
}

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

1
2
3
4
function mergeSpace(str) {
 str=str.replace(/(\s|&nbsp;)+/g,' ');
 returnstr;
}
### HTML 转义符的使用方法 HTML 中的转义符是一种特殊的序列,用于表示那些在 HTML 文档中有特殊意义或者无法直接输入的字符。这些转义符通常由 `&` 开头,并以分号 (`;`) 结束[^1]。 #### 常见的 HTML 转义符 以下是几个常用的 HTML 转义符及其对应的字符: - `<` 表示小于符号 (<) - `>` 表示大于符号 (>) - `&` 表示与符号 (&) - `"` 表示双引号 (") 例如,如果你想在网页中显示一段 HTML 代码而不让浏览器解析它,你可以这样写: ```html <p>这是一个标签: <p></p> ``` 这将会渲染为:“这是一个标签: <p>”。 #### JavaScript 输出包含 HTML 转义符的内容 有时需要通过 JavaScript 动态生成并插入含有 HTML 特殊字符的内容到页面中。为了提高代码可读性和维护性,可以通过字符串拼接的方式实现这一点。比如下面的例子展示了如何创建一个带有链接的标题[^2]: ```javascript var div = document.getElementById("divc"); var html = ''; html += '<h1>' + '<a href="javascript:;" onclick="alert(\'JavaScript\')">DHTML innerHTML property.</a>' + '</h1>'; div.innerHTML = html; ``` 另一种更简洁的方法是利用反斜杠 `\` 进行换行处理,同时注意嵌套引号时需适当转义: ```javascript var div = document.getElementById("divc"); var html = ''; html += '\ <h1>\ <a href="javascript:;" onclick="alert(\'JavaScript\')">DHTML innerHTML property.</a>\ </h1>\ '; div.innerHTML = html; ``` #### 将普通字符转换HTML 转义符 如果你有一段普通的文本想要安全地插入到 HTML 页面中作为内容的一部分而不是被解释执行的话, 可以先将其转化为相应的 HTML 实体形式再注入 DOM 树之中。 下面提供了一个简单的函数用来完成这样的转化工作[^3]: ```javascript function html2Escape(sHtml) { return sHtml.replace(/[<>&"]/g,function(c){ return {'<':'<', '>': '>', '&': '&', '"': '"'}[c]; }); } console.log(html2Escape('<script>alert("XSS")</script>')); // 输出: <script>alert("XSS")</script> ``` 以上就是关于 HTML 转义符的一些基本概念和应用实例说明。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值