Ví dụ có 1 một tiêu đề bài viết “Tìm hiểu về ngôn ngữ lập trình C” và bạn cần tạo một slug “tim-hieu-ve-ngon-ngu-lap-trinh-c”. Mục đích của việc này là dùng nó để tạo thành một URL thân thiện cho người dùng và các công cụ tìm kiếm.
Code tạo slug trong C#:
using System;
using System.Text;
using System.Text.RegularExpressions;
public class SlugBuilder
{
public static string GetSlug(string text)
{
Regex regex = new Regex("\\p{IsCombiningDiacriticalMarks}+");
string slug = text.Normalize(NormalizationForm.FormD).Trim().ToLower();
slug = regex.Replace(slug, String.Empty)
.Replace('\u0111', 'd').Replace('\u0110', 'D')
.Replace(",", "-").Replace(".", "-").Replace("!", "")
.Replace("(", "").Replace(")", "").Replace(";", "-")
.Replace("/", "-").Replace("%", "ptram").Replace("&", "va")
.Replace("?", "").Replace('"', '-').Replace(' ', '-');
return slug;
}
}
Trong đoạn code có sử dụng biểu thức chính quy (Regular Expressions) để xử lý chuỗi. Tìm hiểu thêm về biểu thức chính quy tại đây: Regular Expression Language – Quick Reference