• 31-12-2009, 23:41:36
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    başlığı url ye çevirirken karakterler kayboluyor.

    başlık: Devlerin savaşı kızışıyor
    çıktı: devlerin-sava-kzyor

    kullandığım fonksiyon:
    function cevir($url)
    {
    $url = trim($url);
    $url = strtolower($url);
    $find = array('', '');
    $url = str_replace ($find, '', $url);
    $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
    $find = array(' ', '"', '&', '&', '\r\n', '\n', '/', '\\', '+', '<', '>');
    $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-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    $url = str_replace ('--', '-', $url);
    return $url;
    }
  • 01-01-2010, 01:43:32
    #2
    Üyeliği durduruldu
    türkçe karakterleri silen replace işlemi

    Alıntı
    $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);

    bunun öncesinde turkce karakterleri karşılıklarıyla replace etmeniz gerekiyor.

    ama gördüğüm kadarıyla Ş ve ğ için bunu yapmtığınız halde görünmüyor. demekki bu kodları yazdığınız php dosyası ile size fonksiyona dahil ettiğiniz stringin karakter seti uyuşmuyor. charset kontrolu yapın
  • 01-01-2010, 13:02:28
    #3
    Sorun çözüldü arkadaşlar. teşekkür ederim. Editörümden kaynaklıymış. fonksiyonu başka bir yerden include ediyordum aynı sayfa içine yazınca düzeldi.

    fakat bi sorunum daha var.

    mysql'a kaydedemiyorum. haber botu yapıyorum ama karakter temizliği yapamıyorum. mysql_escape_string kullandığımda yazıların içindeki bazı yerler bozuluyor ve \ fln giriyor araya. replace ile temizlemeye çalışıyorum ama başaramadım. kullandığınız fonksiyonlar fln varsa paylaşırsanız sevinirim.
    teşekkürler.
  • 01-01-2010, 14:44:38
    #4
    Üyeliği durduruldu
    alqoliq33 adlı üyeden alıntı: mesajı görüntüle
    Sorun çözüldü arkadaşlar. teşekkür ederim. Editörümden kaynaklıymış. fonksiyonu başka bir yerden include ediyordum aynı sayfa içine yazınca düzeldi.

    fakat bi sorunum daha var.

    mysql'a kaydedemiyorum. haber botu yapıyorum ama karakter temizliği yapamıyorum. mysql_escape_string kullandığımda yazıların içindeki bazı yerler bozuluyor ve \ fln giriyor araya. replace ile temizlemeye çalışıyorum ama başaramadım. kullandığınız fonksiyonlar fln varsa paylaşırsanız sevinirim.
    teşekkürler.
    addslashes ve stripslashes a bakmanı tavsiye ediyorum
  • 02-01-2010, 11:15:07
    #5
    teşekkür ederim. addslashes işimi gördü.