富文本统一控制

## 富文本统一控制 ### 背景 由于使用富文本的时候有些字符后端没本法解析,导致富文本生成失效 ### 解决办法 #### 技术部 前端对富文本标签进行统一的转化 #### 业务部门 业务部门不能粘贴word文档的样式,只能使用富文本提供的样式按钮 ![image.png](https://cos.easydoc.net/25146546/files/k4z0y4zd.png) ### 函数说明 ```javascript /** * @desc 特殊格式转换 * * @param target {string} rule {Object} * * @return {Array} 结果模板 * * @content 额外需要解释部分 * * @createDate 2019/7/5 * @email lixiangfreewm@gmail.com * * @example */ onion.transform = function (target, rule) { var defaultRule = { '&': '&amp;', '<': '&lt;', '>': '&gt;', "'": '&#039;', '"': '&quot;' }; defaultRule = rule || defaultRule; for (var key in defaultRule) { if (defaultRule.hasOwnProperty(key)) { var currReg = new RegExp(key, 'g'); target = target.replace(currReg, defaultRule[key]) } } ; return target; }; onion.zipTransForm = function(target){ return onion.transform(target, { '&amp;' : '&' , '&lt;' : '<' , '&gt;' : '>', '&#039;': "'" , '&quot;': '"' }) }; ``` ### 使用说明 #### 上传数据 上传数据需要把标签进行转义 ```javascript try{ editror.sync(); }catch(err){ //console.log(err) } var leMobileContent = $('#content').val(); leMobileContent = onion.transform(leMobileContent); ``` #### 数据回显 数据回显需要把转义字符转换成正常标签 ```javascript try{ res.data.leMobileContent && editror.html(onion.zipTransForm(res.data.leMobileContent)); }catch(err){ console.log(err); }; ```