1

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

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

并在文本视图中显示此标记字符串作为可点击链接----从我的索尼爱立信 LT28h,Android 4.2.1 发送

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

4

2 回答 2

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));
        }
    }
}
于 2013-01-29T15:21:52.547 回答
1

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

我想你最好的选择是设置一种方法,用他们的“官方”HTML标签替换自定义标签,如果他们有的话。您可以为此使用 String.replace() 。

于 2013-01-29T15:05:53.033 回答