大家都用上了CKEDIT我还在fck,今天终于做好了粘贴HTML的时候fck过滤不安全代码的功能!(欢迎指正)

原创 2012年03月30日 14:11:43
大概意思就是重写FCK的OnPaste方法
 
 

       //FCK会自动加载此函数        function FCKeditor_OnComplete(editorInstance) {            editorInstance.Events.AttachEvent('OnPaste', checkTextValue);        }        //检查输入框的情况        function checkTextValue(editorInstance) {

           var str = editorInstance.GetClipboardHTML();            var re = /<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;            if (re.test(str)) {                str = cleanWordString(str);            }            str = replacetags(str);            editorInstance.InsertHtml(str);            //editorInstance.SetHTML(replacetags(editorInstance.GetHTML()));                  }

       function replacetags(s) {            s = s.replace(/(\<|\s+)o([a-z]+\s?=)/gi, "$1$2");            s = s.replace(/(<[^>]+) class=[^ |^>]*([^>]*>)/gi, "$1.$2");            //s = s.replace(/(<[^>]+) style=[^ |^>]*([^>]*>)/gi, "$1.$2");            s = s.replace(/(script|frame|form|meta|behavior|style|a)([\s|:|>])+/gi, "$1.$2");            return s;        }

       function cleanWordString(html) {            html = html.replace(/ <.+?>/gm, ''); //过滤所遇html标签            html = html.replace(/<\s?img[^>]*>/gi, ''); //过滤img标签             html = html.replace(/<\/?SPAN[^>]*>/gi, ""); // 去掉所有span标签             html = html.replace(/&lt;+?/g, ""); //过滤&lt;            html = html.replace(/&gt;+?/g, ""); //过滤&gt;             html = html.replace(/&amp;+?/g, ""); //过滤&amp;            html = html.replace(/&nbsp;+?/g, ""); //过滤&nbsp;              html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); // 过滤掉class属性              html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3"); // 过滤掉Style属性             html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); // 过滤掉Lang属性            html = html.replace(/<\\?\?xml[^>]*>/gi, ""); // 过滤掉XML元素和声明              html = html.replace(/<\/?\w+:[^>]*>/gi, ""); // 过滤XML命名空间声明的标签<o:p></o:p>              html = html.replace(/ /, ""); // Replace the              var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)", "gi");            html = html.replace(re, "<div$2</div>"); // 把<P>转换为<DIV>            return html;

       }


从此小白都用上了cocoapods管理第三方

以一个小白身份进入编程的圣殿.用小白的思维帮助小白.

FCK在线编辑器上传图片加入水印功能

在线编辑器Fckeditor,适应多种开发语言环境,功能强大免费开源,能根据自己要求扩展功能。大家可以到官方网站下载最新源代码。利用编辑器在图片上传时,加入水印功能。 如何在自己的网站中架设FCKed...

学习笔记之FCK框架配置及其功能介绍

FCK编辑器(完整详解) 2008-09-29 18:22:07|  分类: JAVA程序设计 ...
  • BackMe
  • BackMe
  • 2011年07月21日 10:36
  • 614

使用jQuery插件和FCK实现csdn博客功能

 页面代码:

FCK功能简化

//有可能是版本问题,下面有些不使用时,去弹出js的警告对话框说工具不存在! 默认的Default包含了FCKeditor的全部功能,个人感觉有些功能用不上,完全加载还会影响显示速度,所以我简化了一...
  • hlg5555
  • hlg5555
  • 2011年11月25日 18:46
  • 450

终于在RS4里用上了中文

在老外一个网站+一个国产软件的帮助下,困扰俺多月的WIN最新Insider版本中文化的问题,总算彻底解决了!...

contenteditable编辑框防止不安全HTML代码

最近把Reader项目的评论框从textarea换成div了, 实现元素的自增高确实方便了, 但随之而来的却是更多的麻烦. 比如, div[contenteditable=true]元素的内容可以是H...

下载资源,FCK编辑器代码

  • 2011年04月27日 15:18
  • 941KB
  • 下载

昨晚看了很多代码知识,希望今天能用上

http://t.163.com/event/info/eventId/6639082643217439548 http://t.163.com/event/info/eventId/-126560...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大家都用上了CKEDIT我还在fck,今天终于做好了粘贴HTML的时候fck过滤不安全代码的功能!(欢迎指正)
举报原因:
原因补充:

(最多只允许输入30个字)