2009年12月12日星期六

羊羊

IMG_1517
在Blogger上还是第一次提到羊羊,一转眼都这么大了,都会干活了!
再来正合影吧
爷俩儿

2009年12月10日星期四

百度居然也不支持自主删除帐号!

为什么呢?
因为一时的头脑发热就被百度给纠缠上了,太流氓了!
为了删除注册的百度空间只能用这个方法了:自己创建一个模板然后增加这么一行样式
BODY{ display:none !important }
无奈呀!
以后再注册什么帐号的时候一定要小心呀。

Youtube也OK了,就是有点慢

Youtube上的芝麻街
hello_sesame_street
在配置Youtube的时候我在FoxyProxy中添加了两个pattern:
*.youtube.com*
*.ytimg.com*
在网上搜索了一下,这个ytimg.com好象是youbube的图片服务器(YouTube IMaGe serve)

呵呵呵!相隔一年半后我又回来了

早就听说吃洋葱(Tor)有好处,一直没机会尝尝,不尝不要紧,一尝吓一跳,洋葱的味道就是冲!
看看上次一帖居然是2008年的5月30日发的,时间过得真快呀。
hello_blogger

小鸟好久没见也变漂亮了
Hello_twitter

2008年5月30日星期五

使用正则表达式

我在平时很少用到正则表达式,今天遇到一个特殊的需求:从数据库读取数据显示在一个表格中,如果要显示的数据是一段HTML并且包含背景颜色的样式设置,则最终页面显示的内容不能填满表格,就像下面的样子:

a 
客户要求整个单元格的背景都要变成红色,不能有白色的空隙部分。

本来打算通过样式表来控制使其充满整个单元格,但是失败了,因为很难控制要显示内容的高度和单元格一样高。

第二个方案是在绑定数据的时候判断数据是否包含“background-color”的样式,如果有就在单元格上添加相同的样式,于是就需要用正则表达式从读取的数据中提取“background-color: red;”

例如:

从数据库中读取的原始数据是: <p style="background-color: red; width: 10px;">TEST</p>

绑定到表格后应该是: <td style="background-color: red;"><p style="background-color: red; width: 10px;">TEST</p></td>

我设计的表达式是:background-color:\s*(?<color>.*?);

然后通过下面的代码把背景色应用到单元格中:

cell.Text = value.ToString();

// Check customized background color
// and then apply same color to cell
Regex rg = new Regex(@"background-color:\s*(?<color>.*?);", RegexOptions.IgnoreCase);
Match result = rg.Match(cell.Text);
if (result.Success && result.Groups["color"].Success)
{
    cell.Attributes.CssStyle.Add(HtmlTextWriterStyle.BackgroundColor, result.Groups["color"].Value);
}

在写这段代码之前我专门找了一些正则表达式的资料恶补一番,其中感觉最好的是deerchao的正则表达式30分钟入门教程

正则表达式实在是太强大了!