Ueditor二次开发 自定义清理

 Ueditor二次开发 自定义清理,清理掉一些无效代码

UE.registerUI('filterA', function(editor, uiName) {

//注册按钮执行时的command命令,使用命令默认就会带有回退操作
	editor.registerCommand(uiName, {
		execCommand: function() {
			alert('execCommand:' + uiName)
		}
	});
	//创建一个button
	var btn = new UE.ui.Button({
		//按钮的名字
		name: uiName,
		//提示
		title: '格式过滤到最简格式!',
		//添加额外样式,指定icon图标,这里默认使用一个重复的icon
		cssRules: 'background-position: -823px -19px;',
		//点击时执行的命令
		onclick: function() {
			var zhtml=editor.getContent();
			zhtml=zhtml.replace(/(style|class)=["'][^"']*["']/gi,'');    //清理掉相应代码
			zhtml=zhtml.replace(/(colspan|rowspan)="1"/gi,'');    //清理掉表格合并的无用代码
			zhtml=zhtml.replace(/height:[^;"]*;?/gi,'');    //清理掉高度代码
			zhtml=zhtml.replace(/(<td[^>]*>)([^<]+)(<br\/>)+([^<]*)(<\/td>)/gi,'$1$2<br/>$4$5');        //清理掉表格内多余的换行
			zhtml=zhtml.replace(/[ ]+/gi,' ');    //多空格改为一个
			zhtml=zhtml.replace(/(&nbsp;| )/gi,'□');    //全角空格过滤
			zhtml=zhtml.replace(/([^\x00-\xff]+)[ ]+([^\x00-\xff]+)/gi,"$1$2");    清理掉汉字间的空格
			zhtml=zhtml.replace(/(<td[^>]*>)\s*<br\/>/gi,'$1');
			zhtml=zhtml.replace(/(<td[^>]*>)([^累<]+)累计([^<]*)(<\/td>)/gi,'$1$2<br/>累计$3$4');
			zhtml=zhtml.replace(/(<td[^>]*>)(累计)?(同比)?[ ]?([±]?%)([^<]*)(<\/td>)/gi,'$1同比<br/>$4$6');
//			zhtml=zhtml.replace(/同比[±]?[%\%]/gi,'同比<br/>±%');
			zhtml=zhtml.replace(/月份/gi,"月");
//			zhtml=zhtml.replace(/排名/gi,"排<br/>名");
//			zhtml=zhtml.replace(/rgb\(237, 245, 250\)/gi,'rgb(246, 246, 246)');
			zhtml=zhtml.replace(/(<td[^>]*>)([^\x00-\xff]+)( |&nbsp;)?[\((]([亿万千]?[美]?[元个%%])[\))](<\/td>)/gi,'$1$2<br/>($4)$5');

			editor.setContent(zhtml);
		}
	});
	//当点到编辑内容上时,按钮要做的状态反射
	editor.addListener('selectionchange', function() {
		var state = editor.queryCommandState(uiName);
		if (state == -1) {
			btn.setDisabled(true);
			btn.setChecked(false);
		} else {
			btn.setDisabled(false);
			btn.setChecked(state);
		}
	});
	//因为你是添加button,所以需要返回这个button
	return btn;
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值