搜索关键字高亮显示在ASP.Net [英] Search keyword highlight in ASP.Net

查看:146
本文介绍了搜索关键字高亮显示在ASP.Net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在输出搜索结果列表的关键字给定的字符串,我想在我的搜索结果中任何匹配的关键字高亮显示。每个字都应该被包在一个范围或相似。我在寻找一个有效的功能来做到这一点。

I am outputting a list of search results for a given string of keywords, and I want any matching keywords in my search results to be highlighted. Each word should be wrapped in a span or similar. I am looking for an efficient function to do this.

例如。

关键词:Lorem存有

Keywords: "lorem ipsum"

结果:含有LOREM和存有一些文本

Result: "Some text containing lorem and ipsum"

所需的HTML输出:包含一些文字<跨度类=打> LOREM< / SPAN>和<跨度类=打>存有< / SPAN>

我的结果是不区分大小写。

My results are case insensitive.

推荐答案

下面是我决定的。一个扩展功能,我可以在我的网页我的网页/节相关的字符串拨打:

Here's what I've decided on. An extension function that I can call on the relevant strings within my page / section of my page:

public static string HighlightKeywords(this string input, string keywords)
{
    if (input == string.Empty || keywords == string.Empty)
    {
        return input;
    }

    string[] sKeywords = keywords.Split(' ');
    foreach (string sKeyword in sKeywords)
    {
        try
        {
            input = Regex.Replace(input, sKeyword, string.Format("<span class=\"hit\">{0}</span>", "$0"), RegexOptions.IgnoreCase);
        }
        catch
        {
            //
        }
    }
    return input;
}

任何进一步的建议或意见?

Any further suggestions or comments?

这篇关于搜索关键字高亮显示在ASP.Net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆