2

次のようなパターンに一致させたい場合

[black]something[/black] [orange]something[/orange]

それらをHTMLコードに変更します<span style="color:black">something</span>

ただし、ペアリングされていないものは変更しないでください[black]hello[/orange]

それらを認識する正規表現をどのように書くことができますか?

4

2 に答える 2

1

ケフィアBBを使用。テキスト翻訳用の構成可能なオープンソース ライブラリです。

http://kefirsf.org/kefirbb/

于 2013-08-16T05:26:13.663 に答える
1

コメントで述べたように、これが解決策です:

public static String bbcode(String text) {
    String html = text;

    Map<String,String> bbMap = new HashMap<String , String>();

    bbMap.put("\\[black\\](.+?)\\[/black\\]", "<span style='color: black;'>$1</span>");
    bbMap.put("\\[orange\\](.+?)\\[/orange\\]", "<span style='color: orange;'>$1</span>");
    // add other colors

    for (Map.Entry entry: bbMap.entrySet()) {
        html = html.replaceAll(entry.getKey().toString(), entry.getValue().toString());
    }

    return html;
}
于 2013-07-29T02:41:03.217 に答える