这是web上RTE的常见问题之一。请您指导我如何:
- 粘贴为纯文本
- 保留HTML,但删除WORD/HTML样式
我想直接在粘贴时执行(粘贴预处理回调),而不打开粘贴插件提供的对话框
有什么想法/经历吗
谢谢
伊姆兰
这就是我用来粘贴纯文本的方法
1。粘贴预处理设置(在tinymce init中)
粘贴预处理:函数(pl,o){
//示例:保留粗体、斜体、下划线和段落
//o、 内容=带标签(o.content,<;b>;<;u>;<;i>;<;p>;);
//删除所有标记=>;纯文本
o、 内容=带标签(o.content.);
},
2。功能条标签(在主文档上)
//从字符串中去除HTML和PHP标记
//返回1:'Kevin<;b>;范</b>&书信电报;i>;宗内维尔德</我>;'
//示例2:带标签(“<;p>;Kevin<;img src=”https://stackoverflow.com/questions/4122451/someimage.png“onmouseover=“someFunction()”>;van<;i>;Zonneveld<;/i>;<;/p>;,<;p>;);
//返回2:'<;p>;凯文·范宗内维尔德</p>;'
//示例3:strip_标签(“<;a href=”http://kevin.vanzonneveld.net“>;凯文·范·佐内维尔德<;/a>;”,“<;a>;”;
//返回3:'<;a href='https://stackoverflow.com/questions/4122451/10〕http://kevin.vanzonneveld.net“>;凯文·范宗内维尔德</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;
}