• 13-12-2016, 19:47:07
    #1
    Merhaba
    fanksiyonu bi türlü çözemedim yardımcı olursanız sevinirim.

     function tr_isim($string){
    	$find = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı');
    	$replace = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i');
    	$string = strtolower(str_replace($find, $replace, $string));
    	$string = preg_replace("@[^A-Za-z0-9\_\.\+]@i", ' ', $string);
    	$string = trim(preg_replace('/\s+/', ' ', $string));
    	$string = str_replace(' ', '-', $string);
    	return $string;
    }
    Elazığ = elazig
    Ağın = agin
    Buşekilde vermesi gerekirken aşağıdaki gibi veriyor çıktıyı

    Elazığ = elaz
    Ağın = a-n

    Şimdiden teşekkürler.
  • 13-12-2016, 20:31:44
    #2
    erqin adlı üyeden alıntı: mesajı görüntüle
    Merhaba
    fanksiyonu bi türlü çözemedim yardımcı olursanız sevinirim.

     function tr_isim($string){
    	$find = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı');
    	$replace = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i');
    	$string = strtolower(str_replace($find, $replace, $string));
    	$string = preg_replace("@[^A-Za-z0-9\_\.\+]@i", ' ', $string);
    	$string = trim(preg_replace('/\s+/', ' ', $string));
    	$string = str_replace(' ', '-', $string);
    	return $string;
    }
    Elazığ = elazig
    Ağın = agin
    Buşekilde vermesi gerekirken aşağıdaki gibi veriyor çıktıyı

    Elazığ = elaz
    Ağın = a-n

    Şimdiden teşekkürler.
    Merhaba,

    Onun yerine aşağıda verdiğim fonksiyonu kullanabilirsiniz.

    function temizle($url){
    $url = trim($url);
    $find = array('<b>', '</b>');
    $url = str_replace ($find, '', $url);
    $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
    $find = array(' ', '&amp;quot;', '&amp;amp;', '&amp;', '\r\n', '\n', '/', '\\', '+', '<', '>');
    $url = str_replace ($find, '-', $url);
    $find = array('.','..', '...');
    $url = str_replace ($find, '', $url);
    $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
    $url = str_replace ($find, 'e', $url);
    $find = array('í', 'ý', 'ì', 'î', 'ï', 'I', 'Ý', 'Í', 'Ì', 'Î', 'Ï','İ','ı');
    $url = str_replace ($find, 'i', $url);
    $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
    $url = str_replace ($find, 'o', $url);
    $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
    $url = str_replace ($find, 'a', $url);
    $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
    $url = str_replace ($find, 'u', $url);
    $find = array('ç', 'Ç');
    $url = str_replace ($find, 'c', $url);
    $find = array('þ', 'Þ','ş','Ş');
    $url = str_replace ($find, 's', $url);
    $find = array('ð', 'Ð','ğ','Ğ');
    $url = str_replace ($find, 'g', $url);
    $find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    $url = str_replace ('--', '-', $url);
    $url = strtolower($url);
    return $url;
    }
    
    //Kullanımı
    
    $degisken = temizle($baslik);
  • 14-12-2016, 12:25:03
    #3
    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Onun yerine aşağıda verdiğim fonksiyonu kullanabilirsiniz.

    function temizle($url){
    $url = trim($url);
    $find = array('<b>', '</b>');
    $url = str_replace ($find, '', $url);
    $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
    $find = array(' ', '&amp;quot;', '&amp;amp;', '&amp;', '\r\n', '\n', '/', '\\', '+', '<', '>');
    $url = str_replace ($find, '-', $url);
    $find = array('.','..', '...');
    $url = str_replace ($find, '', $url);
    $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
    $url = str_replace ($find, 'e', $url);
    $find = array('í', 'ý', 'ì', 'î', 'ï', 'I', 'Ý', 'Í', 'Ì', 'Î', 'Ï','İ','ı');
    $url = str_replace ($find, 'i', $url);
    $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
    $url = str_replace ($find, 'o', $url);
    $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
    $url = str_replace ($find, 'a', $url);
    $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
    $url = str_replace ($find, 'u', $url);
    $find = array('ç', 'Ç');
    $url = str_replace ($find, 'c', $url);
    $find = array('þ', 'Þ','ş','Ş');
    $url = str_replace ($find, 's', $url);
    $find = array('ð', 'Ð','ğ','Ğ');
    $url = str_replace ($find, 'g', $url);
    $find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    $url = str_replace ('--', '-', $url);
    $url = strtolower($url);
    return $url;
    }
    
    //Kullanımı
    
    $degisken = temizle($baslik);

    Malesef buda olmadı botla gelen veriyi değiştirdiğimde türkçe karakterleri siliyor normal kullandığımda oluyor

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:25:03 -->-> Daha önceki mesaj 10:48:50 --

    sorun düzeldi.