Java BBCode库

Java BBCode库,第1张

Java BBCode库

当前版本的KefirBB 0.6不再列为beta版本。 我发现使用自己的标签非常容易配置和扩展KefirBB解析器:

kefir-bb.sourceforge.net

(这是 我到目前为止找到的最好的BBCode解析器)

我还在fyhao.com上找到了以下代码,但是它确实可以防止嵌套标签错误(因此不适合解析用户输入的输入):

    public static String bbpre(String text) {        String html = text;        Map<String,String> bbMap = new HashMap<String , String>();        bbMap.put("(rn|r|n|nr)", "<br/>");        bbMap.put("\[b\](.+?)\[/b\]", "<strong></strong>");        bbMap.put("\[i\](.+?)\[/i\]", "<span style='font-style:italic;'></span>");        bbMap.put("\[u\](.+?)\[/u\]", "<span style='text-decoration:underline;'></span>");        bbMap.put("\[h1\](.+?)\[/h1\]", "<h1></h1>");        bbMap.put("\[h2\](.+?)\[/h2\]", "<h2></h2>");        bbMap.put("\[h3\](.+?)\[/h3\]", "<h3></h3>");        bbMap.put("\[h4\](.+?)\[/h4\]", "<h4></h4>");        bbMap.put("\[h5\](.+?)\[/h5\]", "<h5></h5>");        bbMap.put("\[h6\](.+?)\[/h6\]", "<h6></h6>");        bbMap.put("\[quote\](.+?)\[/quote\]", "<blockquote></blockquote>");        bbMap.put("\[p\](.+?)\[/p\]", "<p></p>");        bbMap.put("\[p=(.+?),(.+?)\](.+?)\[/p\]", "<p style='text-indent:px;line-height:%;'></p>");        bbMap.put("\[center\](.+?)\[/center\]", "<div align='center'>");        bbMap.put("\[align=(.+?)\](.+?)\[/align\]", "<div align=''>");        bbMap.put("\[color=(.+?)\](.+?)\[/color\]", "<span style='color:;'></span>");        bbMap.put("\[size=(.+?)\](.+?)\[/size\]", "<span style='font-size:;'></span>");        bbMap.put("\[img\](.+?)\[/img\]", "<img src='' />");        bbMap.put("\[img=(.+?),(.+?)\](.+?)\[/img\]", "<img width='' height='' src='' />");        bbMap.put("\[email\](.+?)\[/email\]", "<a href='mailto:'></a>");        bbMap.put("\[email=(.+?)\](.+?)\[/email\]", "<a href='mailto:'></a>");        bbMap.put("\[url\](.+?)\[/url\]", "<a href=''></a>");        bbMap.put("\[url=(.+?)\](.+?)\[/url\]", "<a href=''></a>");        bbMap.put("\[youtube\](.+?)\[/youtube\]", "<object width='640' height='380'><param name='movie' value='http://www.youtube.com/v/'></param><embed src='http://www.youtube.com/v/' type='application/x-shockwave-flash' width='640' height='380'></embed></object>");        bbMap.put("\[video\](.+?)\[/video\]", "<video src='' />");        for (Map.Entry entry: bbMap.entrySet()) { html = html.replaceAll(entry.getKey().toString(), entry.getValue().toString());        }        return html;    }

BTW javaBBpre是开源项目的一部分:JavaBB。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5488691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存