"Enter"a basıp içeriğe geçin

C# Url’i Akıllı Url’e Dönüştürme

Bir url akıllı url’e nasıl dönüştürülür, bu yazıda bunu göreceğiz. Öncelikle url’i akıllı url’e dönüştürmeden önce, yayına alınan bir sayfaya bakalım.

Örnek : www.webkoz.com/urli%s%ak%s%ll%s%urle%s%d%s%n%s%st%s%rme

Urlde türkçe karakterler yer aldığı için türkçe karakterler yerine, yukarıdaki gibi unicode karakterler görünür. Bu url’e baktığımız zaman, makalenin içeriği hakkında herhangi bir yorum yapamayız. Aynı şekilde arama motorları da böyle bir url’i sevmez ve aramalarda alt sıralara düşmek muhtemeldir. Yani sitenin içeriği ne kadar önemliyse url yapısıda o kadar önemlidir.

Url’i akıllı url’e dönüştürme methodu aşağıda belirtilmiştir. Methodun işlevi şu şekildedir:

  • Türkçe karakterleri bulup düzeltmek.
  • Boşlukları ve unicode karakterleri – ile değiştirmek.
  • Url’de büyük harfle yazılmış harfleri, küçük harfe çevirmek.
using System.Globalization;
using System.Text.RegularExpressions;

namespace Webkoz.HelperClasses
{
    public static class TextControl
    {
        public static string AkilliUrleDonustur(this string url)
        {
            if (string.IsNullOrEmpty(url)) return "";

            url = url.Replace("ş", "s");
            url = url.Replace("Ş", "s");
            url = url.Replace("ğ", "g");
            url = url.Replace("Ğ", "g");
            url = url.Replace("İ", "i");
            url = url.Replace("ı", "i");
            url = url.Replace("ç", "c");
            url = url.Replace("Ç", "c");
            url = url.Replace("ö", "o");
            url = url.Replace("Ö", "o");
            url = url.Replace("ü", "u");
            url = url.Replace("Ü", "u");
            url = url.Replace("'", "");
            url = url.Replace("\"", "");

            Regex regex = new Regex("[^a-zA-Z0-9_-]");
            url = regex.Replace(url, "-");
            if (!string.IsNullOrEmpty(url))
                while (url.IndexOf("--") > -1)
                    url = url.Replace("--", "-");

            if (url.StartsWith("-")) url = url.Substring(1);
            if (url.EndsWith("-")) url = url.Substring(0, url.Length - 1);

            url = url.ToLower();
            return url;
        }
    }
}
Yazıyı Paylaşmak İster misin?
Share on Facebook
Facebook
Pin on Pinterest
Pinterest
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
Share on Reddit
Reddit
    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir