alabacaknet adlı üyeden alıntı
urlencode() ile çektikten sonra urldecode() ile eski haline getirmen lazımurl encode bildiğim kadarıyla şunu önler:
GET ile gönderilecek varsayılan değer: Ali & Mehmet
Normalde olması gereken adres: index.php?kimler=Ali & Mehmet
Ama "&" işareti özel bir işarettir, bu yüzden PHP şöyle algılayacak
$_GET['kimler'] = 'Ali ';
$_GET[' Mehmet'] = null;
Tabi bu bir örnek, diğer UTF-8 olan ama latin olmayan karakterleri de düzeltecektir(ö'yü oe yapmamız gibi ama "%20" tarzı çevirecek)
urldecode() ile çevrilmişleri geri kazanacaksın, benim aklımda şöyle bir şey var ama hiç kullanmadım, zararlı da olabilir
function duzenle(&$d=array()) {
if( !is_array($d) ) { return array(); }
foreach($d as $k => $v) { if( is_array($v) { $d[$k] = duzenle($v); } else { $d[$k] = urldecode($v); } }
return $d;
}
$_GET = duzenle($_GET);
Hocam ilgin alakan için sağoalsın ama o kod işimi görmedi. sistem algoritması biraz farklı olduğu için sıfırdan bi kod yazıp kendim çözdüm.. Çözmüş olduğum kodu yazıyorum. belki birilerinin işini görür ..
function replace_tr($text) {
$text = trim($text);
$search = array('%C3%87','%C3%A7','%C4%9E','%C4%9F','%C4%B1','%C4%B0','%C3%96','%C3%B6','%C5%9E','%C5%9F','%C3%9C','%C3%BC','-');
$replace = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü',' ');
$new_text = str_replace($search,$replace,$text);
return $new_text;
}
?>
$kelime = urlencode($D->search_string);
$trsiz_kelime = replace_tr($kelime);
echo $trsiz_kelime;
?>