Kaynak : http://www.erguner.net/php/fonksiyon...leri-temizleme

PHP ile SEO dostu url’ler yaratmada ve özellikle dosya işlemlerinde çok lazım olabilen bu yapıyı, bir fonksiyonla anlatacağım. PHP ile Türkçe karakterleri iki şekilde temizleriz!

1. Türkçe Karakterleri Silerek
Orjinal : Doğukan Ne Yapıyor?
Temiz : Doukan-Ne-Yapyor
DEMO


2. Türkçe Karakterleri Değiştirerek
Orjinal : Doğukan Ne Yapıyor?
Temiz : Dogukan-Ne-Yapiyor
DEMO

Şimdi Burada öncelikle ne istediğimizi bilmeliyiz, eğer seo dostu url yaratıyorsak, kesinlikle ikinci yöntemi tavsiye ederim. Eğer dosya işlemi yapıyorsak ikiside olabilir.

1. Yöntem için Fonksiyon

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
function temizle($text, $limit=75)
    {
      // replace non letter or digits by -
      $text = preg_replace('~[^\\pL\d]+~u', '-', $text);

      // trim
      $text = trim($text, '-');

      // lowercase
      $text = strtolower($text);

      // remove unwanted characters
      $text = preg_replace('~[^-\w]+~', '', $text);

      if(strlen($text) > 70) {
        $text = substr($text, 0, 70);
      }

      if (empty($text))
      {
        //return 'n-a';
        return time();
      }

      return $text;
    }
$text = "Doğukan Ergüner PHP derslerini anlatıyor";
echo "Orjinal Metin : ".$text."<br>";
echo "Temiz Metin : ".temizle($text)."<br>";
?>

Ve İşte bunlarda 2. Yöntem için PHP Kodlarımız! Bunu tavsiye ederim!

<?
function temizle($tr1) {
$turkce=array("ş","Ş","ı","ü","Ü","ö","Ö","ç","Ç","ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü");
$duzgun=array("s","S","i","u","U","o","O","c","C","s","S","i","g","G","I","o","O","C","c","u","U");
$tr1=str_replace($turkce,$duzgun,$tr1);
$tr1 = preg_replace("@[^a-z0-9\-_şıüğçİŞĞÜÇ]+@i","-",$tr1);
return $tr1;
}
$text = "Doğukan Ergüner PHP derslerini anlatıyor";
echo "Orjinal Metin : ".$text."<br>";
echo "Temiz Metin : ".temizle($text)."<br>";
?>