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:
Recent Posts
Showing 2 comments
Elinenize bilginize sağlık 🙂
Çok başarılı, sonuç odaklı bir anlatım olmuş, tebrikler