

Seo Da Bir Konuda Problemim Va ( Php-Sql )
-
şimdi url kısmında şöyle bişey yaptım ;
function idyap($text){
$bul = array('%c3%87','%c4%9e','%c4%b0','%c3%96','%c5%9e','%c3%bc','%c4%b1','U','%20','%c4%9f','%c5%9f','%c3%b6','%c3%a7','%c3%9c');
$cevir = array('c','g','i','o','s','u','i','u','-','g','s','o','c','u');
$text = str_replace($bul, $cevir, strtolower($text));
return $text;
}-----------
Bununla idyap($yazi) dediğimiz zaman Türkçe karakterler falan küçülüp ingilizce karaktere dönüyor.Sorunda burada başlıyor.
"Ubuntu 9.10 Yeni Çıktı !!"
diye bir başlığım var.Ben şimdi link verdiğimde ubuntu-9.10-yeni-cikti-!! olarak gösterecek.Şimdi gelelim problemin kaynağına
select * from yazi where baslik like 'idyap($gelen)'
dediğimizde $gelen Türkçe karakterlerden arındırılmış bir şekilde duruyor.Fakat veritabanındaki ile aynı değil.Veri tabanındakini idyap fonksiyonu ile tr karakterlerden falan arındırıp gelen ile eşlemenin kolay yolu varmı ?? Yoksa tek tek yazılara baktırıp eşleneni almak zorunda kalıcam.
Birde yazi/3 yerine yazi/ubuntu-9.10-cikti yapmak daha mantıklı değil mi ?
-
hocam en iyisi repace_tr($baslik)-$idyap.html şeklinde yap diğer şekilde bende ugrastımda kafa yormak istemedim.
-
hocam şu şekilde yapabilirim ;
while ($oku=mysql_fetch_assoc($sorgu))
{
$anahtar=idyap($oku['baslik']);
if (strstr($gelen,$anahtar)){
$anahtarlar=$oku['id']."-".$anahtarlar;
}
}daha sorna split ile - den ayırtıp halledilebilir.AAaa şimdi aklıma geldi ;
?yazi/5/ubuntu-bilmemne falan
diye ekletelim.Amaç zaten urlde başlığı göstermek deil mi :-/
-----------
edit: gerçi yine problem etiketleri çekmem lazım off..
-
arkadaşlar burada
select * from yazilar where baslik like 'idyap($gelen)'
kısmı var.Oradaki baslik kısmınıda idyap ile filtrelemem lazım.Yani mantıken
select * from yazilar where 'idyap(baslik)' like 'idyap($gelen)'
Örneğin baslik linux mint.Fakat idyap ile bu linux-mint oluyor.Bu şekilde eşleştirme lazım
edit:
urldecode işimi çözdü :)
http://www.php.net/manual/tr/function.urldecode.php