「java開発」正規表現によるimg要素の複数srcを置換する
Javaコード:
public static String replaceImgSrc(String content,int i) {
int k =0;
StringBuffer sb= new StringBuffer();
//<img alt="" src="1.jpg"/> <img alt="" src="1.jpg"></img> <img alt="" src="1.jpg"><img />
Pattern p_img = Pattern.compile(“<(img|IMG)(.*?)(/>|></img>|>)");
Matcher m_img = p_img.matcher(content);
boolean result_img = m_img.find();
if (result_img) {
while (result_img) {
StringBuffer sbSrc= new StringBuffer();
//<img />タグをマッチングして、内容取得
String str_img = m_img.group(2);
//img />タグのsrcをマッチング
Pattern p_src = Pattern.compile(“(src|SRC)=(\"|\’)(.*?)(\"|\’)");
Matcher m_src = p_src.matcher(str_img);
if (m_src.find()) {
m_src.appendReplacement(sbSrc, " src=\"" + ( i + 1) + “_" + ( k + 1) + “.jpg\" “);
m_src.appendTail(sbSrc);
m_img.appendReplacement(sb, “<img " + sbSrc.toString() + " />");
}
//<img />タグのsrcのマッチングを終了
//contentに次の<img />が存在するかどうかをマッチング
result_img = m_img.find();
k++;
}
m_img.appendTail(sb);
return sb.toString();
}else{
return content;
}
}