在搜索关键词高亮中一般的方法都是采用替换的办法(Replace)这个方法有一个缺点就是不能区分大小写的问题。在网上找了找发现有人用正则表达式的方法来解决这个问题还真不错,效率也比较高,归纳如下,有用得到的朋友可以一试。
        //搜索关键词高亮显示函数
        public static string HighLightKeyWord(string pain,string keyword)
        {
            //搜索关键词高亮函数By JN 2006.11.30
            System.Text.RegularExpressions.MatchCollection m = Regex.Matches(pain, keyword, RegexOptions.IgnoreCase);
            //忽略大小写搜索字符串中的关键字
            for (int j = 0; j < m.Count; j++)//循环在匹配的子串前后插东东
            {
                //j×31为插入html标签使pain字符串增加的长度:
                pain = pain.Insert((m[j].Index + keyword.Length + j * 31), "</font>");//关键字后插入html标签
                pain = pain.Insert((m[j].Index + j * 31), "<font color=#ff0000>");//关键字前插入html标签
            }
            //搜索关键词高亮函数By JN 2006.11.30
            return pain;
        }
当然用之前引用先:using System.Web.UI.HtmlControls;
还有:using System.Text.RegularExpressions;(小鱼加)
以上代码有问题:同一句中有多个关键字时出问题
试一下这个先
/// <summary>
        /// 替换关键字为红色
        /// </summary>
        /// <param name="keycontent">原始内容</param>
        /// <param name="k">关键字,支持多关键字</param>
        /// <returns>String</returns>
        /// <author>haver Guo</author>
        public static string Highlightkeywords(string keycontent, string k)
        {
            string resultstr = keycontent;
            if (k.Trim().IndexOf(’ ’) > 0)
            {
                string[] myArray = k.Split(’ ’);
                for (int i = 0; i < myArray.Length; i++)
                {
                    resultstr = resultstr.Replace(myArray[i].ToString(), "<font color=#FF0000>" + myArray[i].ToString() + "</font>");
                }
                return resultstr;
            }
            else
            {
                return resultstr.Replace(k, "<font color=#FF0000>" + k + "</font>");
            }
        }

为了您的安全,请只打开来源可靠的网址

打开网站    取消

来自: http://hi.baidu.com/sitoto/blog/item/d2dc08b31f16ccaad9335aa8.html

转载于:https://www.cnblogs.com/Miton/archive/2011/06/01/2066021.html

asp.net搜索关键词高亮显示函数相关推荐

  1. C#中搜索关键词高亮显示

    在搜索关键词高亮中一般的方法都是采用替换的办法(Replace)这个方法有一个缺点就是不能区分大小写的问题.在网上找了找发现有人用正则表达式的方法来解决这个问题还真不错,效率也比较高,归纳如下,有用得 ...

  2. JS实现HTM搜索关键词高亮显示

    如何利用JS实现HTML搜索关键词高亮显示呢? 目录 一.程序案例代码 二.程序运行效果 一.程序案例代码 <!DOCTYPE html> <html lang="en&q ...

  3. android关键词检索功能,Android实现搜索关键词高亮显示-Kotlin

    在做Wandroid项目时有一个搜索功能,要在搜索结果中将匹配到的关键词高亮显示.但是 玩安卓API并没有提供颜色的高亮,只有字体斜体,效果看起来并不明显,并且昵称也参与了搜索,但并没有增加HTML标 ...

  4. Vue---实现搜索功能的搜索关键词高亮显示

    1.模板代码: <div v-html="hightligth(text)"></div> text为自己的文本搜索结果,比如黄某某 例子: 现在我的搜索关 ...

  5. js实现html搜索关键词高亮显示(标红)

    效果图: 一.只适用于找出中文 如果传入英文会特别麻烦,因为比如传个a,innerHtml匹配时会匹配到包含a的标签比如<span>.<a>等. 思路: 获取body的inne ...

  6. html中搜索框提示语,JS实现搜索关键词的智能提示功能

    最近在百度搜索的时候,当你输入一个字或者词的时候,他会给你们弹出一个下拉框出来,里面是和你相关的搜索提示 比如 我输入杨字,他会给我提示以下搜索提示 我尝试着用JavaScript做了一个类似的练习, ...

  7. python爬虫——基于selenium用火狐模拟登陆爬搜索关键词的微博

    preface:最近的任务,还是爬微博.之前的用不上,post提交,还是不太熟悉,模拟登陆不了,故换种方式,用selenium模拟登陆,从此任何登录以及js调用都是浮云,我模拟登录分分钟解决.之前的时 ...

  8. 前端Vue开发,多关键字搜索时,搜索结果高亮显示(解决输入英文时,会错误的把html标签渲染的问题)

    问题背景: 网上搜索关于搜索结果高亮显示,基本上都是单一关键字搜索,或者多关键字搜索,但是没有解决 输入英文字符时,把html标签渲染出来的问题,比如在进行多关键字搜索时,可能会进行a;s的搜索, 就 ...

  9. Trie 树——搜索关键词提示

    当你在搜索引擎中输入想要搜索的一部分内容时,搜索引擎就会自动弹出下拉框,里面是各种关键词提示,这个功能是怎么实现的呢?其实底层最基本的就是 Trie 树这种数据结构. 1. 什么是 "Tri ...

  10. 正则表达式 html链接,ASP超级链接和HTML函数正则表达式 修正版

    过滤超级链接 Function RegRemoveHref(HTMLstr) Set ra = New RegExp ra.IgnoreCase = True ra.Global = True ra. ...

最新文章

  1. sqlplus column命令用法
  2. Windows键盘驱动结构与消息机制--转
  3. mysql 连接查询_Swoole 实战:MySQL 查询器的实现(协程连接池)
  4. 工作191:loading不声明
  5. PyCharm 设置背景图片
  6. ecq php,ecqx.sdgz.site网页GZIP压缩检测结果
  7. vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess 1
  8. 计算机网络学习1-网络层次
  9. 某汽车零部件制造厂商
  10. gym101431D(传说中的构造(呸))
  11. 基于 OpenSSH 的身份认证与密钥管理
  12. 生成全排列算法的实现(Johnson-Trotter)
  13. LINUX Ubuntu 平台上安装PGI的pgf90编译器
  14. 程序员面试备战篇:69个经典Spring面试专题解析(干货分享答案)
  15. 推荐阅读:太极拳的奥妙-专访七十肖维佳老翁现场展示
  16. 微软黑屏补丁_微软鬼才,又做了一款跳水神机
  17. intouch的报警怎么用语音通知到手机用户
  18. OPC读写Kepware(C++)
  19. 虚拟机安装Ubuntu16.04.6
  20. Linux 下值得使用的 5 个屏幕录像软件 [zt]

热门文章

  1. hive explode函数入门及其与lateral view的结合
  2. 一文讲清模拟信号、自然信号、数字信号、模拟输入输出
  3. SQL-SERVER触发器
  4. Linux 如何重启网络
  5. 查看SVN当前登录用户
  6. 深入学习c++--智能指针(二) weak_ptr(打破shared_ptr循环引用)
  7. phpstudy设置允许远程访问mysql数据库
  8. 设计模式——建造者模式 1
  9. maven内部运行原理解析
  10. 一步步开发自己的博客 .NET版(3、注册登录功能)