Merhaba, bu yazımda c# kullanarak web, masaüstü, API ya da mobil uygulamalarda kullanıcılardan aldığımız metinlerin içerisinde geçen URL (Link) adreslerini HTML kod ile nasıl değiştiririz örnek kod paylaşacağım.
Yaptığım bir chat uygulamasında mesajlaşma bölümünde HTML editör kullanmadan düz metinler alıyorum. Bazen mesajlaşmada url paylaşımı da yapılmakta. URL’i direkt düz metin olarak yayınladığımda tıklanabilir olmadığı için kullanım açısında zor oluyor. Bu yüzden mesajları kaydederken metnin içerisinde geçen bir URL varsa bunu HTML koda replace ediyorum. Mesajlar görüntülendiğinde url artık tıklanabilir oluyor.
1 2 3 4 5 6 7 |
public static string ToConvertStringToLink(this string text) { string regex = @"((www\.|(http|https|ftp|news|file)+\:\/\/)[_.a-zA-Z0-9-]+\.[a-zA-Z0-9\/_:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])"; Regex r = new Regex(regex, RegexOptions.None); return r.Replace(text, "<a href=\"$1\" target =\"_blank\">$1</a>").Replace("href=\"www", "href=\"http://www"); } |
1 2 3 4 5 6 |
public void convert_string_to_link() { var text = "Paylaşmak Güzeldir. www.sametgonez.com"; var link = text.ToConvertStringToLink(); Console.WriteLine(link); } |
Test kodumuzu çalıştırdığımızda aşağıdaki bir sonuç üretmektedir.