我试图解析简单<font>
标记的style属性,并将其转换回简单的html属性。例如,我有这个字符串<font style="font-family:tahoma;font-size:24px;color:#9900CC;">
,我想以某种方式将它转换为<font size="24" color="#9900CC" face="tahoma">
我知道这可以用正则表达式完成,但我不知道怎么做?
感谢
答案 0 :(得分:0)
所以这是迄今为止我所做的最简单的解决方案,它是一个肮脏的解决方案,但它就像一个魅力:
static public String convertCSSFonttoHTML(String css)
{
List<List<String>> allFontTags = regexFindMultiStrings("<font[^>]*(style=['\"][^'\"]+['\"])[^>]*>", css);
String allAttributes = "";
for(int y=0; y<allFontTags.size(); y++)
{
String style = allFontTags.get(y).get(0);
String size = regexFindString("font-size:([^0-9]+)", style);
String color = regexFindString("color:([^;]+);", style);
String face = regexFindString("font-family:([^;]+)", style);
if(!size.isEmpty())
allAttributes += "size=\""+size+"\" ";
if(!color.isEmpty())
allAttributes += "color=\"" + color + "\" ";
if(!size.isEmpty())
allAttributes += "face=\""+face+"\"";
//do replacements to the first occurance
css = css.replaceFirst(style, allAttributes);
//empty atts
allAttributes = "";
}
//Log.e("Regex", css);
return css;
}