Seo dostu url için projelerimde bir zaman kullandığım class yapımı paylaşıyorum. Bu yapı "ÖRNEK URL BAŞLIĞI" yazısını "ornek-url-basligi" olarak çevirmekte. Ayrıca eğer yazının uzunluğu 80 karakterden fazla ise substring metodu ile en fazla 80 karakterlik bir dönüşüm yaptırıyordum. Ek olarak iki tane - - karakterinin yan yana gelme durumunda da gerekli düzenlemeyi yaptırıyordum. Ben bunu asp.net c# projelerimde çok sık kullanıyordum. PHP'ye kendiniz çevirirsiniz artık.
Class;
public static string ConvertToURL(this string str)
{
if (string.IsNullOrEmpty(str)) return "";
if (str.Length > 80)
str = str.Substring(0, 80);
str = str.Replace("ş", "s");
str = str.Replace("Ş", "S");
str = str.Replace("ğ", "g");
str = str.Replace("Ğ", "G");
str = str.Replace("İ", "I");
str = str.Replace("ı", "i");
str = str.Replace("ç", "c");
str = str.Replace("Ç", "C");
str = str.Replace("ö", "o");
str = str.Replace("Ö", "O");
str = str.Replace("ü", "u");
str = str.Replace("Ü", "U");
str = str.Replace("'", "");
str = str.Replace("\"", "");
Regex r = new Regex("[^a-zA-Z0-9_-]");
//if (r.IsMatch(str))
str = r.Replace(str, "-");
if (!string.IsNullOrEmpty(str))
while (str.IndexOf("--") > -1)
str= str.Replace("--", "-");
if (str.StartsWith("-")) str= str.Substring(1);
if (str.EndsWith("-")) str= str.Substring(0, str.Length - 1);
return str;
}
Kullanım Örneği;
string url = "Örnek sayfa başlığı";
string seo_url = url.ToString().ConvertToURL();
//url içindeki veri Örnek sayfa başlığı
//seo_url içindeki veri ornek-sayfa-basligi