java 替换img 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);

}

}


版权声明:本文为weixin_36407172原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。