Java中如何禁止内容关键字替换ALT和A标签中的关键词?

xyflash 2015-11-19 07:50:11
实现效果:将内容文本中的普通关键字 替换成 带有链接的关键字。

已经想到的,需要解决问题是:
1、关键字替换如何避免IMG标签里的ALT、Title字段内容被替换
2、在内容中,我手动添加的一些链接中含有关键字,如何避免这个关键字被替换!

目前有问题:图片里面的alt里面有关键字也被替换成有链接的了。还有原本有超链接的文本也被替换了。

测试代码:
String str ="<p>电脑可以提高工作效率</p>,电脑可以提高工作效率,<a href='ss.html'>电脑的使用</a> <img alt='电脑配件' src='aa.jpg' />";
String t=str.replaceAll("(.*?<[^a]*?[^>]>.*?)(电脑)(.*?</[^a]*?[^>]>.*?)", "$1<a href=''>my电脑</a>$3");
System.out.println(t);

目前存在问题,第二个电脑无法替换?
...全文
143 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyflash2 2015-11-23
  • 打赏
  • 举报
回复
String str ="<p>电脑可以提高工作效率</p>,电脑可以提高工作效率,<a href='ss.html'>电脑的使用</a> <img alt='电脑配件' src='aa.jpg' />";
String t=str.replaceAll("(.*?<[^a]*?[^>]>.*?)(电脑)(.*?</[^a]*?[^>]>.*?)", "$1<a href=''>my电脑</a>$3");
System.out.println(t);

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧