加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式处理img标签

发布时间:2020-12-14 01:45:34 所属栏目:百科 来源:网络整理
导读:文章内容中包含有img标签内容,但有时候不需要显示图片,只需要显示内容,需要将内容中的图片替换掉,这个正则表达式,我可花了些时间,百度了一下,没有合适的,就自己费时间写了, 还可以用吧。 这里是java的,但正则表达式应该是一样的吧。 在网上找一段js

文章内容中包含有<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="<imgs*([w]*=("|')([^"']*)("|')s*)*/>";//这样更简单
// String regex="<imgs*src=("|')([^"']+)("|')s*([w]+=("|')([^"']*)("|')s*)*/>";
Pattern p = Pattern.compile("<imgs*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="<spans*([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);

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读