java 替换src_java正则替换img标签中src值的方法

主要功能是: 替换html字符串中img标签src的值.

代码如下:

package com.junlenet.common.util;

import java.util.regex.matcher;

import java.util.regex.pattern;

/**

* html处理工具类

* @author huweijun

* @date 2016年7月13日 下午7:25:09

*/

public class htmlutils {

/**

* 替换指定标签的属性和值

* @param str 需要处理的字符串

* @param tag 标签名称

* @param tagattrib 要替换的标签属性值

* @param starttag 新标签开始标记

* @param endtag 新标签结束标记

* @return

* @author huweijun

* @date 2016年7月13日 下午7:15:32

*/

public static string replacehtmltag(string str, string tag, string tagattrib, string starttag, string endtag) {

string regxpfortag = "]*)\\s*" ;

string regxpfortagattrib = tagattrib + "=\\s*\"([^\"]+)\"" ;

pattern patternfortag = pattern.compile (regxpfortag,pattern. case_insensitive );

pattern patternforattrib = pattern.compile (regxpfortagattrib,pattern. case_insensitive );

matcher matcherfortag = patternfortag.matcher(str);

stringbuffer sb = new stringbuffer();

boolean result = matcherfortag.find();

while (result) {

stringbuffer sbreplace = new stringbuffer( "

matcher matcherforattrib = patternforattrib.matcher(matcherfortag.group(1));

if (matcherforattrib.find()) {

string attributestr = matcherforattrib.group(1);

matcherforattrib.appendreplacement(sbreplace, starttag + attributestr + endtag);

}

matcherforattrib.appendtail(sbreplace);

matcherfortag.appendreplacement(sb, sbreplace.tostring());

result = matcherfortag.find();

}

matcherfortag.appendtail(sb);

return sb.tostring();

}

public static void main(string[] args) {

stringbuffer content = new stringbuffer();

content.append("

  • 1-160424120t1-50.jpg%5C%22");

content.append("

1-15062q12247.jpg%5C%22");

system.out.println("原始字符串为:"+content.tostring());

string newstr = replacehtmltag(content.tostring(), "img", "src", "src=\"http://junlenet.com/", "\"");

system.out.println(" 替换后为:"+newstr);

}

}

以上这篇java正则替换img标签中src值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值