日期:2014-05-20 浏览次数:21092 次
比如数据库中有几条
<font style="color:red">大个大法官大个大法官的风格的风格的风格的风格大法官!</font>
<font style="color:yellow">大个大法大法官格的风格的风格大法官!</font>
<font style="color:blue">大多个个大法官的风格的风格的风格的风格大法官!</font>
<font style="color:red">大个大法官格大法官!</font>
我读取的时候,如果直接
public string getstr(string str)
{
if (str.Length>10)
{
return str.Substring(0,10) + "...";
}
else
{
return str;
}
}
然后,使用repeater绑定
<%#getstr(Eval("Title").ToString())%>
这样的话,读取出来,就不显示文字的颜色,而且,字符也显示了,,,怎么搞???才能显示文字,而且文字要对应相对应的颜色???
string s = "<font style=\"color:red\">大个大法官大个大法官的风格的风格的风格的风格大法官!</font>";
Regex regex=new Regex(@"^<font (.*?)[^>]>(.*?)[^<]</font>$",RegexOptions.IgnoreCase);
Match m = regex.Match(s);
if (m.Groups.Count > 0)
{
string str = m.Groups[2].Value;
if (str.Length > 10)
{
str=str.Substring(0, 10) + "...";
}
str = "<font " + m.Groups[1].Value + "\">" + str + "</font>";
}
------解决方案--------------------
建立一个txt,内容
<font style="color:red">大个大法官大个大法官的风格的风格的风格的风格大法官!</font> <font style="color:red">大个大法大法官格的风格的风格大法官!</font> <font style="color:red">大多个个大法官的风格的风格的风格的风格大法官!</font> <font style="color:red">大个大法官格大法官!</font>
------解决方案--------------------
static void Main(string[] args)
{
string str = @"<font style=""color:red"">大个大法官大个大法官的风格的风格的风格的风格大法官!</font>";
Regex re = new Regex(@"(<font [^>]+>)([^<]+)(</font>)", RegexOptions.None);
Match ma = re.Match(str);
//string str = getstr(
str = ma.Groups[1] + getstr(ma.Groups[2].Value) + ma.Groups[3].Value;
Console.WriteLine(str);
Console.ReadLine();
}
public static string getstr(string str)
{
if (str.Length > 10)
{
return str.Substring(0, 10) + "...";
}
else
{
return str;
}
}
//str结果:<font style="color:red">大个大法官大个大法官...</font>