• 20-10-2016, 16:36:23
    #1
    Merhaba arkadaşlar;

    Ücretli bir ingilizce script aldım. Title türkçe olarak yazılıyor. Herhangi bir karakter hatası yok. Ancak url yapısı aşağıda belirttiğim gibi...

    Title: URL Yapısını Değiştirmek
    URL: http://xxx.com/post-1-url-yap-s-n-de-irmek

    Olarak çıkıyor. Yani türkçe karakterler (-) işaretli olarak çıkıyor. Nette bir çok araştırma yaptım. İngilizce sitelerde de araştırdım. Bir çözüm bulamadım. .htacess dosyasıyla oynama yapınca da olmadı. Karakter kodlaması UFT-8
  • 20-10-2016, 20:16:58
    #2
    seflink fonksiyonunuz türkçe karakter desteklemediği için onları es geçiyor. Farklı bir seflink fonksiyonu deneyin
  • 20-10-2016, 20:17:52
    #3
    aşağıdaki fonksiyonu title kısmını çeviren yere entegre edin

    function replace_tr($text) {
    $text = trim($text);
    $search = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü',' ');
    $replace = array('c','c','g','g','i','i','o','o','s','s','u','u','-');
    $new_text = str_replace($search,$replace,$text);
    return $new_text;
    }
  • 20-10-2016, 22:50:17
    #4
    Deimosx adlı üyeden alıntı: mesajı görüntüle
    aşağıdaki fonksiyonu title kısmını çeviren yere entegre edin

    function replace_tr($text) {
    $text = trim($text);
    $search = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü',' ');
    $replace = array('c','c','g','g','i','i','o','o','s','s','u','u','-');
    $new_text = str_replace($search,$replace,$text);
    return $new_text;
    }
    anilunal adlı üyeden alıntı: mesajı görüntüle
    seflink fonksiyonunuz türkçe karakter desteklemediği için onları es geçiyor. Farklı bir seflink fonksiyonu deneyin

    Teşekkürler arkadaşlar;

    Sanırım Değiştireceğim yeri buldum; Ama bu kodu nasıl entegre edeceğim...

    $PostLink = preg_replace("![^a-z0-9]+!i", "-", $LongTitle);
    Edit: SORUN ÇÖZÜLMÜŞTÜR

    Sorunun çözümü ise;

    a-z0-9
    tüm scripte aratın ve
    A-Za-z0-9_-şçüöığİŞÖÜĞÇ
    ile değiştir yapın. Sonra tüm dosyaları ftp ye upload edin ve bakın url ler türkçe karakter olmuş

    URL lerin Türkçe karakter olması google için sorun yaratır mı derseniz

    BAKIN:
  • 21-10-2016, 13:44:31
    #5
    function sanitize($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;amp;amp;quot;', '&amp;amp;amp;amp;', '&amp;amp;amp;', '\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-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    $url = str_replace ('--', '-', $url);
    $url = strtolower($url);
    return $url;
    }
    $url=sanitize("burasi yazı");