1

次のようなカスタムフォーラムタグを含むいくつかの文字列を解析したい:

[url=https://play.google.com/store/apps/details?id=xxx]----sent from my Sony Ericsson LT28h,Android 4.2.1[/url]

このタグ文字列をテキストビューでクリック可能なリンクとして表示します----私のSony Ericsson LT28h、Android 4.2.1から送信されました

Html.fromhtml を試し、カスタム タグ ハンドラを使用しましたが、"<" で始まり ">" で終わるカスタム タグのみがサポートされているようです。何か提案はありますか?

4

2 に答える 2

3

1 つの方法は、これらのカスタム ハンドラーを作成することです。以下のサンプル コードを確認してください。ヒントが得られる場合があります (このコードは、作成する必要がある [url]...[/url] タグの内部値を返すことに注意してください)。同じロジックを使用して URL の値を取得する [url=....] タグの繰り返し):

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MyHandler {

    public static void main(String[] args) {
        Pattern p = Pattern.compile(
                "\[url.*\](.*)\[/url\]",
                Pattern.DOTALL
            );

        Matcher matcher = p.matcher(
                "[url=https://play.google.com/store/apps/details?id=xxx]----sent from my Sony Ericsson LT28h,Android 4.2.1[/url]"
            );

        if(matcher.matches()){
            System.out.println(matcher.group(1));
        }
    }
}
于 2013-01-29T15:21:52.547 に答える
1

もちろん、フォーラムが思い付く可能性のあるすべてのカスタムタグを知る一般的な方法を期待することはできません。したがって、手動で行う必要があります。

最善の策は、カスタムタグを「公式」HTMLタグ(ある場合)に置き換えるメソッドを設定することだと思います。これにはString.replace()を使用できます。

于 2013-01-29T15:05:53.033 に答える