package com.lh.fly.common.utils;
import android.content.Context;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.util.Linkify;
import java.util.regex.Pattern;
public class SpannableStringUtils {
private static final String TAG = SpannableStringUtils.class.getSimpleName();
private static final Pattern PATTERN_WEB = Pattern.compile("http://[a-zA-Z0-9+&@#/%?=~_\\-|!:,\\.;]*[a-zA-Z0-9+&@#/%=~_|]");
private static final Pattern PATTERN_TOPIC = Pattern.compile("#[\\p{Print}\\p{InCJKUnifiedIdeographs}&&[^#]]+#");
private static final Pattern PATTERN_MENTION = Pattern.compile("@[\\w\\p{InCJKUnifiedIdeographs}-]{1,26}");
private static final Pattern PATTERN_EMOTICON = Pattern.compile("\\[(\\S+?)\\]");
private static final Pattern PATTERN_STYLE = Pattern.compile("(?!^\\\\$)((_+)|(\\*+)|(~+))(\\w{1,})(?!^\\\\$)\\1");
private static final String HTTP_SCHEME = "http://";
private static final String TOPIC_SCHEME = "us.shandian.blacklight.topic://";
private static final String MENTION_SCHEME = "us.shandian.blacklight.user://";
public static SpannableString span(Context context, String text) {
text = text.replace("\\n", "\n").replace("<br>", "\n");
SpannableStringBuilder ssb = new SpannableStringBuilder(text);
Linkify.addLinks(ssb, PATTERN_WEB, HTTP_SCHEME);
Linkify.addLinks(ssb, PATTERN_TOPIC, TOPIC_SCHEME);
Linkify.addLinks(ssb, PATTERN_MENTION, MENTION_SCHEME);
return null;
}
}