栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java BBCode库

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496570.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号