Cấp bậc tác giả:

DOTNET

Highlighting Keywords Làm nổi bật từ khóa với asp.net

Được viết bởi QuangIT ngày 13/08/2012 lúc 08:30 PM
Trong kết quả tìm kiếm trên website của bạn bạn muốn thực làm nổi bật từ khóa người dùng tìm kiếm. Bài viết này tôi minh họa cho các bạn cách làm đơn giản với asp.net csharp.
  • 0
  • 6936

Highlighting Keywords Làm nổi bật từ khóa với asp.net

Trong kết quả tìm kiếm trên website của bạn bạn muốn thực làm nổi bật từ khóa người dùng tìm kiếm. Bài viết này tôi minh họa cho các bạn cách làm đơn giản với asp.net csharp.
Chúng ta sẽ xây dựng một hàm để xử lý từ khóa tìm kiếm sử dụng phương thức Regex của lớp System.Text.RegularExpressions. Hàm đó được viết như sau:

/// <summary> 
/// 
Đánh dấu từ khóa với thuộc tính background-color 
/// </summary> 
/// <param name="text"></param> 
/// <param name="keywords">
Từ khóa tìm kiếm</param> 
/// <param name="cssClass">
Css style hoặc color đánh dấu từ khóa</param> 
/// <returns>string</returns>
 
private string HighlightKeyWords(string text, string keywords, string cssClass) 

if (text == String.Empty || keywords == String.Empty || cssClass == String.Empty) 
return text; 
var words = keywords.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 
return words.Select( word => word.Trim()).Aggregate( text, (current, pattern) => Regex.Replace(current, pattern, string.Format("<span style=\"background-color:{0}\">{1}</span>", cssClass, "$0"), RegexOptions.IgnoreCase))
; return words.Select(word => "\\b" + word.Trim() + "\\b") .Aggregate(text, (current, pattern) => Regex.Replace(current, pattern, string.Format("<span style=\"background-color:{0}\">{1}</span>", cssClass, "$0"), RegexOptions.IgnoreCase)); 
}


Sử dụng: giả sử tôi sử dụng từ khóa là DNGAZ với đoạn văn bản như sau:

string str = @" 
Hiện nay Diễn đàn Đà Nẵng - DNGAZ.com rất cần một lực lượng điều hành diễn đàn có năng lực, tâm huyết và hiểu biết về kỹ thuật cũng như nắm bắt kịp thời tin tức Đà Nẵng, tâm lý xã hội, vân vân và vân vân. Thay mặt BQT DNGAZ thông báo tuyển những thành viên có khả năng tham gia vào đội ngũ điều hành góp phần vào công việc quản lý và phát triển website. ";
Label1.Text = HighlightKeyWords(str, "DNGAZ", "yellow"); 
 
Khi đó kết quả nhận được là:

Hiện nay Diễn đàn Đà Nẵng - DNGAZ.com rất cần một lực lượng điều hành diễn đàn có năng lực, tâm huyết và hiểu biết về kỹ thuật cũng như nắm bắt kịp thời tin tức Đà Nẵng, tâm lý xã hội, vân vân và vân vân. Thay mặt BQT DNGAZ thông báo tuyển những thành viên có khả năng tham gia vào đội ngũ điều hành góp phần vào công việc quản lý và phát triển website.

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML