UbbCode用正则替换指定格式的输入实现想要的输出

原创
2017/08/10 10:22
阅读数 39

伪代码如下

public static String replaceLink(String strContent){
        
        Pattern pattern=null;
        Matcher matcher= null;
        if(strContent.indexOf("url")!=-1){
        String reGex="\\[url\\](http|https)(\\:\\/{2}\\w+\\.tt.cn.*?)\\[\\/url\\]";
        strContent = ubbReplace(strContent, 
                reGex, 
                "<a style=\"color:#5193C7;\"  href=\"$1$2\" target=\"_blank\" >$1$2 </a>", 
                pattern, matcher, true);
        reGex="\\[url\\](http|https):(\\/{2}\\w+\\.\\w+\\.\\w+\\.\\w+.*?)\\[\\/url\\]";
        strContent = ubbItem(strContent, 
                reGex, 
                "xxxxxxxxxxx", 
                pattern, matcher, true);
        }
        return strContent;
    }

public static String ubbReplace(String strContent, String re, String replayStr, 
            Pattern pattern, Matcher matcher, boolean IgnoreCase) {
        if (IgnoreCase) {
            pattern = Pattern.compile(re,Pattern.CASE_INSENSITIVE);
        }else{
            pattern = Pattern.compile(re);
        }
        matcher = pattern.matcher(strContent);
        strContent = matcher.replaceAll(replayStr);
        return strContent;
}
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
1
分享
返回顶部
顶部