TinyMCE粘贴为纯文本

这是web上RTE的常见问题之一。请您指导我如何:

  1. 粘贴为纯文本
  2. 保留HTML,但删除WORD/HTML样式

我想直接在粘贴时执行(粘贴预处理回调),而不打开粘贴插件提供的对话框

有什么想法/经历吗

谢谢

伊姆兰

这就是我用来粘贴纯文本的方法

1。粘贴预处理设置(在tinymce init中)

粘贴预处理:函数(pl,o){
//示例:保留粗体、斜体、下划线和段落
//o、 内容=带标签(o.content,<b><u><i><p>);
//删除所有标记=>纯文本
o、 内容=带标签(o.content.);
},

2。功能条标签(在主文档上)

//从字符串中去除HTML和PHP标记
//返回1:'Kevin<b>范&lt/b&gt&书信电报;i>宗内维尔德&lt/我>'
//示例2:带标签(“<p>Kevin<img src=”https://stackoverflow.com/questions/4122451/someimage.png“onmouseover=“someFunction()”>van<i>Zonneveld</i></p>,<p>);
//返回2:'<p>凯文·范宗内维尔德&lt/p>'
//示例3:strip_标签(“<a href=”http://kevin.vanzonneveld.net“>凯文·范·佐内维尔德</a>”,“<a>”;
//返回3:'<a href='https://stackoverflow.com/questions/4122451/10〕http://kevin.vanzonneveld.net“>凯文·范宗内维尔德&lt/a>'
//示例4:带标签('1<5>1');
//返回4:'1<5>1'
功能条标签(str,允许的标签)
{
var key='',allowed=false;
var匹配=[];允许的var_数组=[];
允许的var_标记=“”;
var i=0;
var k='';
var html='';
var replacer=函数(搜索、替换、str){
返回str.split(搜索)。join(替换);
};
//构建allowes标记关联数组
如果(允许的\u标记){
允许的_数组=允许的_标记匹配(/([a-zA-Z0-9]+)/gi);
}
str+='';
//匹配标签
matches=str.match(/(<\/?[\S][^>]*>)/gi);
//检查所有HTML标记
用于(输入匹配项){
如果(isNaN(键)){
//IE7黑客
持续
}
//保存HTML标记
html=匹配[key].toString();
//标签不在允许列表中吗?从str中删除!
允许=错误;
//检查所有允许的标签
对于(k在允许的_数组中){//Init
允许的_标记=允许的_数组[k];
i=-1;
如果(i!=0){i=html.toLowerCase().indexOf('<'+allowed_tag+'>');}
如果(i!=0){i=html.toLowerCase().indexOf('<'+allowed_tag+'')}
如果(i!=0){i=html.toLowerCase().indexOf('</'+allowed_tag);}
//断定
如果(i==0){allowed=true;
打破
}
}
如果(!允许){
str=replacer(html,“,str);//自定义替换。无正则表达式
}
}
返回str;
}

发表评论