文章内容中包含有<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| ", "");
if(content.length()>100){
content=content.substring(0,100)+"...";
}
System.out.println(content);
至此,可以基本满足需要了,虽然不能解决全部问题。
//<img\\s*([\\w]*=(\"|\')([^\"\']*)(\"|\')\\s*)*/>
相关推荐
regxpForImaTagSrcAttrib是一个正则表达式,用于匹配IMG标签的SRC属性。 HtmlRegexpUtil类提供了多种方法来过滤html标签,包括过滤所有以"开头以">"结尾的标签、找出IMG标签、找出IMG标签的SRC属性等。这些方法...
正则表达式是一种强大的文本处理工具,用于模式匹配、搜索、替换等操作,在软件开发、数据处理、网络爬虫等领域有着广泛的应用。在项目中直接使用正则表达式可以极大地提高代码的效率和可读性。以下是对给定文件中的...
在HtmlRegexpUtil类中,我们定义了一个静态变量regxpForImgTag,其值为“*img\\s+([^>]*)\\s*>”,该正则表达式用于匹配IMG标签。然后,我们使用Pattern和Matcher类来编译和匹配该正则表达式,并将匹配的结果提取...
正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中进行字符串搜索、替换等操作。下面将详细介绍这些正则表达式的功能和应用场景。 ### 基础字符匹配 #### 1. 英文字母匹配 - **全字母匹配**:`^[A-...
正则表达式是一种强大的文本处理工具,被广泛应用于搜索、替换以及数据提取等场景。对于网页开发或者数据分析来说,能够熟练地运用正则表达式提取图片是非常有用的技能之一。 #### 正则表达式的概念 正则表达式...
对于自闭合标签(如`<img src="..." />`),可以稍微修改正则表达式以支持这些标签: ```csharp return Regex.Replace(strIn, @"<[^>]+>", ""); ``` 这里的关键变化是将`[^>]*`改为`[^>]+`,表示至少匹配一次非`>`...
对于提取 HTML 中的图片路径,我们需要设计一个能够匹配 `<img>` 标签并捕获 `src` 属性值的正则表达式。 #### 示例代码分析 下面的示例展示了两种不同的方法来从 HTML 字符串中提取图片路径: ##### 方法一:`...
以上是一些常见的Flex正则表达式的应用场景和解释,这些表达式可以帮助开发者在处理文本数据时更加灵活高效。通过理解这些表达式的结构和含义,可以更好地应用于实际项目中进行数据验证、提取等工作。
正则表达式(Regular Expression),简称regex或regexp,是一种用于处理字符串的强大工具。它通过一系列的字符和特殊符号组合来定义字符串模式,进而实现对文本数据的搜索、替换、提取等操作。在软件开发和数据处理...
要从HTML文本中提取所有`<img>`标签的`src`属性值,我们可以利用正则表达式(Regular Expression)这一强大的文本处理工具。正则表达式是一种模式匹配语言,可以用来在字符串中查找、替换或者捕获特定模式。 首先,...
通过这个正则表达式,我们可以获取到整个<img>标签,包括其中的src属性值。 2. 提取<img>标签中的width和height属性 - 提取width属性使用的正则表达式是`/<img.+(width=\"?\d*\"?).+>/i`。 - 提取height属性使用的...
在Java编程中,正则表达式是处理字符串的强大工具,尤其在处理HTML文档时,能够高效地提取所需信息。本文将详细介绍如何使用Java基于正则表达式获取指定HTML标签的指定属性值。这个方法适用于那些不想引入额外HTML...
- **第一步**:`<[^>]+>`,这个正则表达式用于匹配所有的HTML标签,包括自闭合标签,如`<img src="...">`。使用`+`代替`*`是因为HTML标签至少包含一个非`>`字符,因此这里匹配至少一次。 - **第二步**:`&[^;]+;`,...
正则表达式(Regular Expression),简称为regex,是一种强大的文本处理工具,常用于字符串的匹配、查找、替换等操作。它通过一种模式来定义字符串的规则,从而实现对特定格式的字符串进行验证和处理。在编程中,...
它能够处理自闭合标签(如`<img>`)以及非自闭合标签(如`<p>`)。其中,`\1`表示捕获组1的匹配结果,确保开始标签和结束标签相匹配。 **应用场景**:网页解析、HTML内容提取。 ### 2. 去除空白字符 **正则表达式...
针对替换img标签src属性的问题,我们可以创建一个正则表达式来匹配img标签及其src属性。以下是一个示例: ```javascript const content = '<img src="//...
正则表达式是编程中处理文本的强大工具,尤其在网页前端开发中,它常用于数据验证、内容提取和格式化。以下是一些具体的正则表达式实例及其应用: 1. **截取中间字符串**: 示例中的 `preg_match` 函数用于在字符...
- `[^\>]*`:再次匹配非`>`字符,以处理img标签后面的任何额外属性。 - `\>`:匹配img标签的结束。 在JavaScript中,我们可以使用`String.prototype.replace()`方法,结合正则表达式和回调函数来实现替换。这个方法...