2016年2月18日 星期四

關鍵字Highlight

// 將內容加上hightlight之後回傳
// Content: 原文
// HighlightText: 要反白的文字
private string AddHightlight(string Content, string HightlightText)
{
    // 用正則表示法找出要highlight的字和位置
    MatchCollection mc =new Regex(string.Format(@"{0}\b", HightlightText), RegexOptions.IgnoreCase).Matches(Content);
    // 從最後一個以移除再加入的方式取代原內容
    for (int mcIndex = mc.Count-1; mcIndex >= 0; mcIndex--)
    {
        Content = Content.Remove(mc[mcIndex].Index, mc[mcIndex].Value.Trim().Length);
        Content = Content.Insert(mc[mcIndex].Index, string.Format(@"<span style=""background-color:blue;color:white;"">{0}</span>", mc[mcIndex].Value.Trim()));
    }
    return Content;
}

註:highlight 的樣式要寫在 程式碼中,不能用 class 的方式,好像有時會套不到