public static String replacehtmltag(String str, String tag, String tagattrib, String starttag, String endtag) {
String regxpfortag = "<\\s*" + tag + "\\s+([^>]*)\\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("<" + tag + " ");
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("<ul class=\"imgbox\"><li><img src=\"uploads/allimg/160424/1-160424120t1-50.jpg\" ></li>");
content.append("<li><img src=\"uploads/allimg/150628/1-15062q12247.jpg\" ></li></ul>");
System.out.println("原始字符串为:" + content.toString());
String newstr = replacehtmltag(content.toString(), "img", "src", "src=\""+"C:/resource/kaifa/static/staicres/", "\"");
System.out.println(" 替换后为:" + newstr);
}
Html标签处理工具类(image src处理)
最新推荐文章于 2024-10-28 13:25:11 发布
该代码段展示了一个Java方法,用于替换HTML字符串中的特定标签属性。方法使用正则表达式匹配并替换指定标签的属性值,例如将<img>标签的src属性值替换为新的路径。
&spm=1001.2101.3001.5002&articleId=129200799&d=1&t=3&u=00e08556d6304ff5ab815f0dca5491d4)
1427

被折叠的 条评论
为什么被折叠?



