`

正则表达式处理img标签

 
阅读更多

文章内容中包含有<img>标签内容,但有时候不需要显示图片,只需要显示内容,需要将内容中的图片替换掉,这个正则表达式,我可花了些时间,百度了一下,没有合适的,就自己费时间写了,

还可以用吧。  这里是java的,但正则表达式应该是一样的吧。

 

在网上找一段js的处理代码,异常简洁,相当好,这里和大家共享。

  <script>

var content='${item.content}';
                                      re = new RegExp("<(?!img|br|p|/p).*?>", "g"); // 创建正则表达式对象。
                                      r = content.match(re); // 在字符串 s 中查找匹配。
                                      var contentValue = content.replace(/<[^>]+>/g, ""); //去掉所有的html标记
                                      if(contentValue.length>80){
                                          contentValue=contentValue.substring(0,80)+"...";
                                      }

       </script>

 

以下是java代码:这里还真费了我不少脑筋,因为我们的文档发布者,总是从别处复制粘贴到编辑器里,带上了很多的各种复杂样式。在界面列表中,只显示一少部分内容,这时候需要对文档做处理之后再支截取少部分内容显示。不处理直接截取部分内容显示就有各种异常。

String content="<img src=\"http://192.168.1.162/upload/pu_68.jpg\" alt=\"\" />象个洋娃娃吗33333<img src=\"http://192.168.1.152/upload/33288.jpg\" alt=\"\" />888rrrrrr";

 

    //  String regex="<img\\s*([\\w]*=(\"|\')([^\"\']*)(\"|\')\\s*)*/>";//这样更简单
       // String regex="<img\\s*src=(\"|\')([^\"\']+)(\"|\')\\s*([\\w]+=(\"|\')([^\"\']*)(\"|\')\\s*)*/>";
        Pattern p = Pattern.compile("<img\\s*src=(\"|\')([^\"\']+)(\"|\')\\s*([\\w]+=(\"|\')([^\"\']*)(\"|\')\\s*)*/>");
        Matcher m = p.matcher(content);
    上面是单纯图片的,下面处理比较全面了。


                String regex="<(img|a|p|b|div|br)\\s*([\\w]*=(\"|\')([^\"\'<]*)(\"|\')\\s*)*(/>|>)";
                content=content.replaceAll(regex, "");
                String regex2="<span\\s*([\\w]*=(\"|\')(([^\"\'/>><']*)(\"|\'))*\\s*)*(/>|>)";
                content=content.replaceAll(regex2, "");
                content=content.replaceAll("<(/a|b|/b|p|/p|/span|/div)>", "");
                content=content.replaceAll("\r|\n|\t|&nbsp;", "");
                if(content.length()>100){
                    content=content.substring(0,100)+"...";
                }
     
    
        System.out.println(content);

 至此,可以基本满足需要了,虽然不能解决全部问题。

 

//<img\\s*([\\w]*=(\"|\')([^\"\']*)(\"|\')\\s*)*/>

0
1
分享到:
评论
1 楼 mfkvfn 2014-05-29  
/<img\b[^<]*(?:(?!<\/img>)<[^<]*)*<\/img>/gi

jquery的源代码里是这么写的

相关推荐

    java正则表达式过滤html标签

    regxpForImaTagSrcAttrib是一个正则表达式,用于匹配IMG标签的SRC属性。 HtmlRegexpUtil类提供了多种方法来过滤html标签,包括过滤所有以"开头以"&gt;"结尾的标签、找出IMG标签、找出IMG标签的SRC属性等。这些方法...

    正则表达式列举 代码 项目中直接使用

    正则表达式是一种强大的文本处理工具,用于模式匹配、搜索、替换等操作,在软件开发、数据处理、网络爬虫等领域有着广泛的应用。在项目中直接使用正则表达式可以极大地提高代码的效率和可读性。以下是对给定文件中的...

    Java正则表达式过滤html标签1[参考].pdf

    在HtmlRegexpUtil类中,我们定义了一个静态变量regxpForImgTag,其值为“*img\\s+([^&gt;]*)\\s*&gt;”,该正则表达式用于匹配IMG标签。然后,我们使用Pattern和Matcher类来编译和匹配该正则表达式,并将匹配的结果提取...

    大量的正则表达式代码

    正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中进行字符串搜索、替换等操作。下面将详细介绍这些正则表达式的功能和应用场景。 ### 基础字符匹配 #### 1. 英文字母匹配 - **全字母匹配**:`^[A-...

    正则表达式提取图片

    正则表达式是一种强大的文本处理工具,被广泛应用于搜索、替换以及数据提取等场景。对于网页开发或者数据分析来说,能够熟练地运用正则表达式提取图片是非常有用的技能之一。 #### 正则表达式的概念 正则表达式...

    asp.net 正则表达式过滤所有html标签

    对于自闭合标签(如`&lt;img src="..." /&gt;`),可以稍微修改正则表达式以支持这些标签: ```csharp return Regex.Replace(strIn, @"&lt;[^&gt;]+&gt;", ""); ``` 这里的关键变化是将`[^&gt;]*`改为`[^&gt;]+`,表示至少匹配一次非`&gt;`...

    asp.net利用正则在HTML中提取图片路径(asp.net正则表达式过滤出HTML代码中图片路径).txt

    对于提取 HTML 中的图片路径,我们需要设计一个能够匹配 `&lt;img&gt;` 标签并捕获 `src` 属性值的正则表达式。 #### 示例代码分析 下面的示例展示了两种不同的方法来从 HTML 字符串中提取图片路径: ##### 方法一:`...

    Flex 正则表达式大集

    以上是一些常见的Flex正则表达式的应用场景和解释,这些表达式可以帮助开发者在处理文本数据时更加灵活高效。通过理解这些表达式的结构和含义,可以更好地应用于实际项目中进行数据验证、提取等工作。

    正则表达式写法与部分表达式

    正则表达式(Regular Expression),简称regex或regexp,是一种用于处理字符串的强大工具。它通过一系列的字符和特殊符号组合来定义字符串模式,进而实现对文本数据的搜索、替换、提取等操作。在软件开发和数据处理...

    匹配img标签_匹配src中的值

    要从HTML文本中提取所有`&lt;img&gt;`标签的`src`属性值,我们可以利用正则表达式(Regular Expression)这一强大的文本处理工具。正则表达式是一种模式匹配语言,可以用来在字符串中查找、替换或者捕获特定模式。 首先,...

    php正则表达式匹配img中任意属性的方法

    通过这个正则表达式,我们可以获取到整个&lt;img&gt;标签,包括其中的src属性值。 2. 提取&lt;img&gt;标签中的width和height属性 - 提取width属性使用的正则表达式是`/&lt;img.+(width=\"?\d*\"?).+&gt;/i`。 - 提取height属性使用的...

    Java基于正则表达式获取指定HTML标签指定属性值的方法

    在Java编程中,正则表达式是处理字符串的强大工具,尤其在处理HTML文档时,能够高效地提取所需信息。本文将详细介绍如何使用Java基于正则表达式获取指定HTML标签的指定属性值。这个方法适用于那些不想引入额外HTML...

    winform 去除html标签的正则表达式

    - **第一步**:`&lt;[^&gt;]+&gt;`,这个正则表达式用于匹配所有的HTML标签,包括自闭合标签,如`&lt;img src="..."&gt;`。使用`+`代替`*`是因为HTML标签至少包含一个非`&gt;`字符,因此这里匹配至少一次。 - **第二步**:`&[^;]+;`,...

    正则表达式对字符串的完美验证

    正则表达式(Regular Expression),简称为regex,是一种强大的文本处理工具,常用于字符串的匹配、查找、替换等操作。它通过一种模式来定义字符串的规则,从而实现对特定格式的字符串进行验证和处理。在编程中,...

    常用正则表达式材料收集

    它能够处理自闭合标签(如`&lt;img&gt;`)以及非自闭合标签(如`&lt;p&gt;`)。其中,`\1`表示捕获组1的匹配结果,确保开始标签和结束标签相匹配。 **应用场景**:网页解析、HTML内容提取。 ### 2. 去除空白字符 **正则表达式...

    JavaScript正则表达式替换字符串中图片地址(img src)的方法

    针对替换img标签src属性的问题,我们可以创建一个正则表达式来匹配img标签及其src属性。以下是一个示例: ```javascript const content = '&lt;img src="//...

    正则表达式实例 网页前端开发

    正则表达式是编程中处理文本的强大工具,尤其在网页前端开发中,它常用于数据验证、内容提取和格式化。以下是一些具体的正则表达式实例及其应用: 1. **截取中间字符串**: 示例中的 `preg_match` 函数用于在字符...

    用正则表达式替换图片地址img标签

    - `[^\&gt;]*`:再次匹配非`&gt;`字符,以处理img标签后面的任何额外属性。 - `\&gt;`:匹配img标签的结束。 在JavaScript中,我们可以使用`String.prototype.replace()`方法,结合正则表达式和回调函数来实现替换。这个方法...

Global site tag (gtag.js) - Google Analytics