如何实现一个把html标记替换成另一个,而标记之间的内容不变呢?
如:
粗体 <b>aaaaaaaa</b>变成斜体
    <i>aaaaaaaa</i>

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【abs1285】截止到2008-07-04 09:58:40的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:223                      
    结贴的总数量:2                        结贴的总分数:213                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:10                       
    结贴的百分比:66.67 %               结分的百分比:95.52 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油
      

  2.   

    只替换<b>和</b>这两种情况吗?
      

  3.   

    当然不是仅仅使用这种情况
    可以看看下面的:
    String xml = "<b>aaa</b>";
    System.out.println("old = " + xml);

    String regex = "(<\\s*b\\s*>)\\s*(.*)\\s*(</\\s*b\\s*>)";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(xml);
    StringBuffer buf = new StringBuffer(xml.length());
    while (m.find()) {
    for(int i = 0; i <= m.groupCount();i ++){
    System.out.println(i + " = " +  m.group(i));
    }
    // String s = m.group(1);
    String data = m.group(2);
    // String e = m.group(3);
    String replace = "<i>" + data + "</i>";
    m.appendReplacement(buf, replace);
    }
    m.appendTail(buf);
    System.out.println(buf);
    这样就可以了