Malesef şu noktada veritabanı düzeninde değişikliğe gidemem. çok fazla değişiklik yapmam gerekir bunun için. fakat bir ara optimizasyon yapmayı planlıyorum.
Verdiğiniz kodları denedim fakat şonuç yine tekrarlıyor aynı ifadeleri.
veritabanı örneğim: http://pastebin.com/ziTM5xAk burdaki gibi
The Walking Dead HD izle kelimesinden başka video id lerde de var. umarım yardımcı olabilirsiniz günlerdir uğraşıyorum.
Veritabanı yapısından ss: http://p1304.hizliresim.com/18/t/mfz2r.png Birde aşağıdaki ifade türkçe karakter dönüşümü yapmıyor acaba neden?
$tr1=array('/ç/','/Ç/','/ı/','/İ/','/ğ/','/Ğ/','/ö/','/Ö/','/ş/','/Ş/','/ü/','/Ü/','/ /');
$tr2=array('c','C','i','i','g','G','o','O','s','S','u','U','-');
$etiketle = preg_replace($tr1,$tr2,$etiketle);
preg_replace değil str_replace kullan.
database karakter setin utf-8 ise replace fonksiyonunun çalıştığı php dosyasının karakter seti de utf-8 ya da unicode olmalı. yoksa karakterler eşleşmez replace yapmaz. eğer veritabanı karakter seti latin5 ise replace fonksiyonunun çalıştığı dosya ansii olmalı.
benim verdiğim kod çalışmalı.
mantık olarak veritabanındaki bütün kayıtların etiketlerini çekeceksin.
explode ile ayıracaksın. sonra explode ile ayırdığın her etiketi eğer daha önce atanmadıysa $etiketler dizisine atayacaksın ve ekrana bastıracaksın.
böylece daha önce atanan bir etiket tekrar array içine girmeyecek ve çıktı vermeyecek. ama bunu file cache e bağla, ya da database de bir alana yazdır. çok fazla kayıt olduğunda tüm satırları çekip etiketleri ayıklamak işlemci ve bellek şişirir.
Bir de bu kodu dene
Senin ilk mesajındaki kodu düzenledim.
$etiketle = array();
$SQL1 = mysql_query("SELECT etiketler from tablo LIMIT 0, 10");
while ($yaz = mysql_fetch_assoc($SQL1)){
$parcala = explode(',', $yaz["etiketler"]);
for($i = 0; $i < count($parcala2); $i++){
$parcala2[$i] = strtr(trim($parcala2[$i]), "ÜĞİŞÇÖüğışçö", "ugiscougisco");
$parcala2[$i] = preg_replace("/[^0-9a-zA-Z]/","",$parcala2[$i]);
if(in_array($parcala2[$i],$etiketle) == FALSE){
$etiketle[] = $parcala2[$i];
echo $parcala2[$i];
}
}
}