asp.net高亮显示搜索关键字的两个方法

方法一、完成查找关键字字体高亮显示 string serkeys(string , string)#region 方法一、完成查找关键字字体高亮显示 string serkeys(string , string)

view plaincopy to clipboardprint

  1. /**//// <summary>
  2. /// 完成查找关键字字体高亮显示
  3. /// </summary>
  4. /// <span name="str" class="mceItemParam"></span>字符串</param>
  5. /// <span name="sqlkey" class="mceItemParam"></span>字符串关键词</param>
  6. /// <returns>返回字符串</returns>
  7. public static string serkeys(string str,string sqlkey)
  8. {
  9. //sqlstr 待查找的关键字
  10. //str 已经查找到带有关键字的字符串
  11. int len=sqlkey.Length;
  12. int len1=str.Length;
  13. string onesqlstr,rproname="";
  14. rproname=str;
  15. //去掉关键字头和尾的空格,及将关键词
  16. sqlkey=sqlkey.Trim();
  17. if (sqlkey.IndexOf(" ")>0)
  18. {
  19. string [] kewArray=sqlkey.Split(' ');
  20. rproname=str;
  21. if (kewArray.Length>0)
  22. {
  23. for(int i=0;i<=kewArray.Length-1;i++)
  24. {
  25. onesqlstr =kewArray[i];
  26. if(onesqlstr!="" && onesqlstr!=null)
  27. {
  28. if( str.IndexOf(onesqlstr)>=0)
  29. rproname = rproname.Replace(onesqlstr,"<span mce_>"+onesqlstr+"</span>");
  30. }
  31. }
  32. }
  33. }
  34. else
  35. {
  36. onesqlstr=sqlkey;
  37. if( str.IndexOf(onesqlstr)>=0)
  38. rproname = rproname.Replace(onesqlstr,"<span mce_>"+onesqlstr+"</span>");
  39. }
  40. return rproname;
  41. }

方法二、完成查找关键字字体高亮显示,精确到每个字符#region 方法二、完成查找关键字字体高亮显示,精确到每个字符

view plaincopy to clipboardprint

  1. /**//// <summary>
  2. /// 完成查找关键字字体高亮显示,精确到每个字符
  3. /// </summary>
  4. /// <span name="str" class="mceItemParam"></span>字符串</param>
  5. /// <span name="sqlkey" class="mceItemParam"></span>字符串关键词</param>
  6. /// <returns>返回字符串</returns>
  7. public static string serkeys_char(string str,string sqlkey)
  8. {
  9. //sqlstr 待查找的关键字
  10. //str 已经查找到带有关键字的字符串
  11. int len=sqlkey.Length;
  12. int len1=str.Length;
  13. string onesqlstr,pproname,rproname="";
  14. string [] memo= new string[len1];
  15. for(int j=0;j<=len1-1;j++)
  16. {
  17. onesqlstr=sqlkey;
  18. pproname=str.Substring(j,1);
  19. if (onesqlstr.ToLower().IndexOf(pproname.ToLower())>=0)
  20. {
  21. memo[j]="<span mce_>"+pproname+"</span>";
  22. }
  23. else
  24. {
  25. memo[j]=pproname;
  26. }
  27. }
  28. for(int i=0;i<=memo.Length-1;i++)
  29. {
  30. rproname+=memo[i];
  31. }
  32. return rproname;
  33. }

本文来自:http://www.oseye.net/blog/JustCool/show/97