`
free_xiang
  • 浏览: 52679 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

javascript正则表达式获取fckeditor的图片地址

    博客分类:
  • web
阅读更多
首先声明我用的fckeditor的版本是2.5.1,其次还要说我的正则表达式是刚刚学的,可能代码还有些问题,需要优化,希望看出问题的各位能不吝赐教,谢谢。上面很罗嗦,不过还是要说。
终于要开始正题了,在fckeditor中获取图片地址,要分n种情况,
  1. 1,纯html标签;
  2. 2,word复制过来的数据;
  3. 2.1 在ie中使用;
  4. 2.2 在firefox种使用;
先从fckeditor中得到html,
  1. var oEditor = FCKeditorAPI.GetInstance(contentid) ;
  2. var fckStr = oEditor.GetHTML(false);//获得源代码

对于1的正则表达式是
  1. var reg1_html = /(?:]*src[\ ]*=[\ ]*(?:['"]?)(\S[^'"\ ]+)(?:['"]?\s[^>]*[>]{1}))/gi;
  2. var match = null;
  3. while((match = reg1_html.exec(fckStr)) != null){
  4. //找到每个匹配进行操作。
  5. }
说明:如果match不是null,那match[0] (是零,不是O)就是匹配的整个img标签,match[1]就是src的值;这里用了捕获组和非捕获组,所以match[1]才是src的值,写博客的时候才想起来,这里面有疏漏,并没有使用分组命名,这完全是受了java的影响,因为开始的时候我在java里面使用了,而java并不支持分组命名(据说java7支持分组命名),导致我后来竟然没有加上。

对于2的正则当然要就是:

ie情况下要用到三个正则表达式,不知道有没有更简单的方法;
  1. var reg1_html = /(?:]*src[\ ]*=[\ ]*(?:['"]?)(\S[^'"\ ]+)(?:['"]?\s[^>]*[>]{1}))/gi;
  2. var reg2_word = /(?:]*\s*o\:href=(?:['"]?)(\S[^'"\ ]+)(?:['"]?[^>]+>{1})(?:<\/v\:imagedata>))/gi;
  3. var reg2_word2 = /(?:]*src=(?:['"]?)(\S[^'"\ ]+)(?:['"]?[^>]+)(?:(?:(?:\/>){1})|(?:[>]{1})))/gi;
这三个是都要验证的。因为情况不同。

在firefox下直接按第一种情况就可以了。

大家应该都懂了,如果对正则表达式还不熟悉,可以看看:

http://open4y.blogspot.com/2009/05/blog-post.html
http://open4y.blogspot.com/2009/05/30.html
分享到:
评论

相关推荐

    正则表达式提取网址、标题、图片等一例(.Net Asp Javascript/Js)的实现

    本文提供了一个使用正则表达式提取网址、标题、图片等信息的案例,旨在帮助读者更好地掌握正则表达式在.NET、ASP和JavaScript中的应用。掌握这些技能对于进行网页数据抓取、内容过滤和信息提取等工作非常有用。需要...

    fckeditor中添加自动排版功能

    这些规则可以通过正则表达式或者DOM操作来实现,比如设置段落样式、调整字体大小、转换首行缩进等。 为了实现自动排版,你需要编写一个JavaScript函数,如下: ```javascript function autoFormat() { var editor...

    万能Form表单验证

    正则表达式(Regular Expression)是实现表单验证的核心工具,它可以用于定义复杂的字符串匹配模式。例如: 1. 中文字符验证:可以使用`^[\u4e00-\u9fa5]+$`这样的正则表达式来确保用户输入全为中文。 2. 数字验证:...

    FCKeditor.Net_2.6.3.zip+FCKeditor_2.6.6.zip+安装配置使用文档

    这可能需要使用.NET的字符串处理函数,或者使用正则表达式进行清洗和验证。 6. **图片和文件管理**:FCKeditor支持上传图片和其他文件,需要配置一个服务器端的处理程序来接收这些文件,并将它们保存到合适的位置。...

    ASP.NET基础控件-教程

     正则表达式验证  递归把十进制转换八进制(面试题目)  Mysql测试连接(DLL的引用)(插入与读取)  Asp.Net编辑器Fckeditor的使用  Asp.Net中FileUpload上传文件  Asp.Net中WebServices的使用  Asp.net手动绑定...

    开发及常用应用的工具篇

    - **简介**:RegexBuddy是一种强大的正则表达式测试工具,支持多种编程语言中的正则表达式语法,能够帮助开发者快速编写、测试和调试正则表达式。 - **应用场景**:适用于数据验证、文本处理等领域,特别对于需要...

    新闻内容分页FCK案例

    FCK(FCKeditor)是一款曾经广泛应用的开源富文本编辑器,它允许用户在网页上编辑和发布带有格式的内容,包括文字、图片、链接等。在FCKeditor中实现内容分页,可以极大地提升用户体验,避免一次性加载大量内容导致...

    AntiXss 4.2.1.msi

    1. 正则表达式的白名单过滤机制。 2. 正则表达式的黑名单替换机制。 3. 通过DOM对象过滤白名单和黑名单的标签。 其实我用的很简单,就是AntiXss.GetSafeHtmlFragment(html)方法,这个方法会替换掉html里的危险字符...

    在fck下实现自动过滤word格式

    这可能包括使用正则表达式去除Word特有的HTML标签,如`&lt;o:p&gt;`,以及处理多余的样式信息。 3. **清理格式**:Word的格式化信息通常包含在CSS样式中,可以通过解析和清洗这些样式来消除Word的影响。比如,可以删除...

    Android免费课程

    13. **正则表达式视频**:正则表达式是文本处理和数据验证的强大工具,对于Android应用中的数据处理功能非常重要。 14. **Android开发**:虽然没有直接提供Android开发的链接,但理解上述技术可以帮助理解Android...

    ASP.Net.技巧收集.pdf

    - **定义**: 通过IP地址获取地理位置信息。 - **实现方法**: 使用第三方地理定位服务API。 #### 43. MySQL 事务处理 - **定义**: 使用MySQL数据库的事务管理机制。 - **实现方法**: 开始事务、提交事务或回滚事务。...

    jQuery+PHP发布的内容进行无刷新分页(Fckeditor)

    这一过程可以通过正则表达式来完成。 6. CSS样式调整:为了使分页按钮和显示内容的样式更加友好,需要编写CSS代码。这包括分页按钮的样式、内容显示区域的样式等。通过CSS可以控制分页按钮的外观,如颜色、大小、...

    js使用小技巧

    通过正则替换,可以获取URL路径的最后一个目录: ```javascript var str = "http://localhost/Home/manage/FCKeditor/dialog/fck_image.html"; str = str.replace(/[^\/]+$/,""); ``` 18. **字符串trim方法**...

    js清理Word格式示例代码

    字符串替换使用正则表达式,如`/o:/g`用于删除字符前的“o:”序列,而`/&lt;/?P&gt;/g`用于删除`&lt;P&gt;`和`&lt;/P&gt;`标签。 最后,修改后的、清理了Word格式的HTML内容被重新赋值给编辑器文档的body的innerText,这样当用户在Web...

Global site tag (gtag.js) - Google Analytics