Akıllı URL

Rastgele beğendiğim sözlerden bir tanesi

Abdalın arkadaşlığı yol görününcüye kadardır.

Atasözü

Akıllı URL

http://linkx.me/Rr3y9 adresinde denk geldiğim bir yazıyı paylaşmak istiyorum Son zamanların meşhur tekniklerinden birisi de malumunuz olduğu üzere akıllı URL ler kullanmak. Örnek olarak bu sayfanın adres satırına bakabilirsiniz: http://www.daltinkurt.com/DevrimAltinkurt/CMS/Icerik/149/Tam-ekran-iframe.aspx Temel olarak amacımız; ? URL lerimizin sadece a-z, A-Z, 0-9, - (tire) ve _ (alt çizgi) karakterlerinden oluşmasını sağlamak, ? bunların haricinde kalan karakterlerin yerine bir ufak - (tire) yerleştirmek, ? ş » s, ü » u, vb. gibi alfabemize özgü karakterleri ingiliz alfabesindeki karakterlerden uygun olanına dönüştürmek. Örnekle izah etmeye çalışalım. Akıllı URL kullanan haber sitelerinde genellikle haberin başlığı url de yer alır. http://istanbul.meb.gov.tr/IcerikDetay/1741/Sinirlar-Egitimle-Birlesiyor.aspx de olduğu gibi. Biz de elimizdeki bir stringi akıllı URL ler için temizleyen/hazırlayan bir metod yazalım o halde: Bu iş için güzel bir genişletme metodu yazalım. (Extension method) public static DA { public static string ToURL(this string s) { if (string.IsNullOrEmpty(s)) return ""; if (s.Length > 80) s = s.Substring(0, 80); s = s.Replace("ş", "s"); s = s.Replace("Ş", "S"); s = s.Replace("ğ", "g"); s = s.Replace("Ğ", "G"); s = s.Replace("İ", "I"); s = s.Replace("ı", "i"); s = s.Replace("ç", "c"); s = s.Replace("Ç", "C"); s = s.Replace("ö", "o"); s = s.Replace("Ö", "O"); s = s.Replace("ü", "u"); s = s.Replace("Ü", "U"); s = s.Replace("'", ""); s = s.Replace("\"", ""); Regex r = new Regex("[^a-zA-Z0-9_-]"); //if (r.IsMatch(s)) s = r.Replace(s, "-"); if (!string.IsNullOrEmpty(s)) while (s.IndexOf("--") > -1) s = s.Replace("--", "-"); if (s.StartsWith("-")) s = s.Substring(1); if (s.EndsWith("-")) s = s.Substring(0, s.Length - 1); return s; } } metotta yaptığımız işi özetleyelim: 1. uzunluğu 80 karakter ile sınırladık. 2. ş » s, ğ » g, vb. dönüşümleri yaptık. 3. a-z, A-Z, 0-9, - ve _ haricindeki tüm karakterleri - ile değiştirdik. 4. (ihtimal dahilindedir) yanyana -- oluşursa tek - ile değiştirdik. 5. baştaki ve sondaki fazlalık - yi temizledik. Kullanımı da son derece kolay: string baslik = "C# ve Java karşılaştırması"; string url = baslik.ToURL(); Oluşan url: "C-ve-Java-karsilastirmasi" baslik.ToURL() yi nasıl yazabildiğimizin sırrını bir başka yazıda anlatmak isterim, ama kısaca söylemek gerekirse, static bir class içerisinde static bir metot yazıyoruz. Bu metodun ilk parametresinde hangi tipteki değişkenler/nesneler için kullanacağımızı belirtiyoruz. Sonra da sanki .net framework ü ile beraber gelen bir metotmuş gibi kullanabiliyoruz. Eğer DataList, Repeater, GridView ile kullanmak isterseniz, şu şekilde kullanabilirsiniz: NavigateUrl='<%#string.Format("/Haber/{0}/{1}.aspx",Eval("Id"),Eval("Baslik").ToString().ToURL()) %>'>

PAYLAŞ!
Etiketler: akıllı url url

EKREM GÜLCÜOĞLU HAKKINDA
Ekrem GÜLCÜOĞLU
Bilişim Teknolojileri Öğretmeni
Web sitem Facebook adresim Twitter adresim Google Plus adresim

Yorum Yaz

Adınız Soyadınız
Yaşınız
E-Posta Adresiniz
İnternet Adresiniz
Mesajınız


Yorumlar

Onaylanmamış: 0 yorum
Toplam: 0 yorum

SON YAZILARIM

ÇOK OKUNAN YAZILARIM

KATEGORİLERİNE GÖRE YAZILARIM

ETİKET BULUTU