Android:解析自定义论坛标签

时间:2013-01-29 15:00:33

标签: java android html json parsing

我想解析一些包含自定义论坛标签的字符串,例如:

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

并在textview中将此标记字符串显示为可点击链接----sent from my Sony Ericsson LT28h,Android 4.2.1

我尝试了Html.fromhtml并使用自定义标签处理程序,但似乎只支持自定义标记以“<”开头并结束“>” 有什么建议吗?

2 个答案:

答案 0 :(得分:3)

一种方法是为这些编写自定义处理程序,检查下面的示例代码,它可能会给你一个提示(注意这段代码会返回你需要的[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));
        }
    }
}

答案 1 :(得分:1)

当然,你不能指望一种通用的方法来了解论坛提出的所有可能的自定义标签。 所以你需要手动完成。

我猜你最好的办法是设置一种方法,用自己的'官方'HTML标签替换自定义标签,如果有的话。 你可以使用String.replace()来做到这一点。