Arama Sonuçlarında Highlight yani sarı çizili anahtar kelimeler yaratmak

Yazdığınız içerik yönetim sisteminde arama sonuçlarında aranan kelimeyi üstü sarı çizili olarak yani highlight olarak göstermek mi istiyorsunuz? Yapmanız gereken, kullandığınız class dosyanızda aşağıdaki gibi kendinize bir class oluşturmak. Eğer arama sonuçları sayfanız arama formundan querystring göndererek çalışıyorsa, aşağıdaki keyword querystring alanını değiştirip kullanabilirsiniz. Ardından kullandığınız data controlünde (listeview, formview vs):

<asp:Label ID="BodyLabel" runat="server" Text='<%#MyClass.HighlightText(Eval("Body").ToString())%>' />

şekline bu class’ı kullanarak databind işleminizi yapabilirsiniz.

public static string HighlightText(string MainText)
    {
        if (!string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["keyword"]))
        {
            string keyword = HttpContext.Current.Request.QueryString["keyword"].ToString().Trim();
            return Regex.Replace(MainText,
                Regex.Escape(keyword), string.Format("<span style='background-color:yellow'>$0</span>"),
                RegexOptions.IgnoreCase);
        }
        else
        {
            return MainText;
        }
    }

Bu kodların sonunda lojistik kelimesi ile yapacağınız arama sonuçları aşağıdaki gibi gözükecektir:

Arama Sonuçları Ekran Görüntüsü - Highligted Text

Arama Sonuçları Ekran Görüntüsü - Highligted Text

Recent Posts
Showing 2 comments
  • Naim ERTÜRK
    Cevapla

    Elinenize bilginize sağlık :)

  • Cem Stoudamire
    Cevapla

    Çok başarılı, sonuç odaklı bir anlatım olmuş, tebrikler

Leave a Comment


*