• 10-02-2010, 23:53:51
    #1
    Merhabalar

    elimde şöyle bir kod var

    	function strip_data($text) {
    		$quotes = array ("\x27", "\x22", "\x60", "\t", "\n", "\r", "'", ",", "/", "¬", ";", ":", "@", "~", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"' );
    		$goodquotes = array ("-", "+", "#" );
    		$repquotes = array ("\-", "\+", "\#" );
    		$text = stripslashes( $text );
    		$text = trim( strip_tags( $text ) );
    		$text = str_replace( $quotes, '', $text );
    		$text = str_replace( $goodquotes, $repquotes, $text );
    		return $text;
    	}
    bu kod arama isimli modülün kodları aynı anda aramalar kayıt edilmekte.Aramada v.s sorun yok, ancak kayıtlarda ş,ğ,ü, bu gibi harflerde acayip karakterler çıkmakta.Bu konuda yardımcı olabilcek arkadaşlara şimdiden teşekkürler.
    Öyle birşey yapmalıyımki Türkçe karakter ile arama yapılsın ancak arananlar kayıt ettiğimde Türkçe karakterli etiketler olmasın zira olursa malum Türkçe karakter hataları çıkmakta
  • 11-02-2010, 00:04:59
    #2
    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;
    }
    	function strip_data($text) {
    		$quotes = array ("\x27", "\x22", "\x60", "\t", "\n", "\r", "'", ",", "/", "¬", ";", ":", "@", "~", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"' );
    		$goodquotes = array ("-", "+", "#" );
    		$repquotes = array ("\-", "\+", "\#" );
    $text = replace_tr($text);
    		$text = stripslashes( $text );
    		$text = trim( strip_tags( $text ) );
    		$text = str_replace( $quotes, '', $text );
    		$text = str_replace( $goodquotes, $repquotes, $text );
    		return $text;
    	}
  • 11-02-2010, 01:52:13
    #3
    Üyeliği durduruldu
    Aramaların kayıt edildiği tablonun karakter setini söylersen sorun çıkarmayacak bir kod verebilirim.
  • 11-02-2010, 10:17:54
    #4
    Üyeliği durduruldu
    hall oldumu sorunun?
  • 11-02-2010, 11:33:02
    #5
    Sorun aslında çözülmedi şöyleki bu şekilde arama olursa insanlar Türkçe karakterli arama yapamıyor (örnek Türkçe diye arama yaparsak Turkce oluyor direkt) ancak veritabanına başarı ile kelimeler Türkçe karakter olmadan gitmekte.
    Bana lazım olan işimize yarıycak olan Türkçe karakterler veritabanına gitmeli ancak Türkçe aramaları kısıtlamamlı.Yani benim arama alanına müdahele etmeme lazım sadece verileri çekerken Türkçe karakterleri str_replace süzerek ekran bastırmam lazım.
    Veritabanından tekrar etiketleri çeken kodda şöyle

    $query = "SELECT tag FROM arama ORDER BY id DESC limit 0, 30";
    $result = mysql_query($query);
    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
    echo "<a href='/download/" . str_replace(' ', '-',  $row['tag']) . ".html'>{$row['tag']}</a> | ";
    }
    Burda str_replace öyle birşey yapmalıyımki Türkçe yerine url Turkce olmali

    MesutEyrice ayrıca teşekkürlerimi sunuyorum.

    php7 karakter seti Latin5_Turkish_ci ancak utf de yapabilirim sorun olmaz.
  • 11-02-2010, 12:09:12
    #6
    Üyeliği durduruldu
        function strip_data($text) {
            $quotes = array ("\x27", "\x22", "\x60", "\t", "\n", "\r", "'", ",", "/", "¬", ";", ":", "@", "~", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"' );
            $goodquotes = array ("-", "+", "#" );
            $repquotes = array ("\-", "\+", "\#" );
            $text = stripslashes( $text );
            $text = trim( strip_tags( $text ) );
            $text = str_replace( $quotes, '', $text );
            $text = str_replace( $goodquotes, $repquotes, $text );
            $text = iconv('utf-8','iso-8859-9',$text);
            return $text;
        }
    denermisin ?
  • 11-02-2010, 12:20:43
    #7
    php7 adlı üyeden alıntı: mesajı görüntüle
        function strip_data($text) {
            $quotes = array ("\x27", "\x22", "\x60", "\t", "\n", "\r", "'", ",", "/", "¬", ";", ":", "@", "~", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"' );
            $goodquotes = array ("-", "+", "#" );
            $repquotes = array ("\-", "\+", "\#" );
            $text = stripslashes( $text );
            $text = trim( strip_tags( $text ) );
            $text = str_replace( $quotes, '', $text );
            $text = str_replace( $goodquotes, $repquotes, $text );
            $text = iconv('utf-8','iso-8859-9',$text);
            return $text;
        }
    denermisin ?

    Olmadı arama yapamıyoruz hata veriyor.
  • 11-02-2010, 12:25:17
    #8
    Üyeliği durduruldu
    Ozaman şöyle yapalım;

    Arkadaşımız yukarıda bu fonksiyonu vermiş;
    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;
    }
    Bunu text'e veritabanına kaydedilmeden hemen önce okut.
    Eğer önce veritabanına kaydedip sonra aramayı yapıyorsa, veritabanına $text değişkenini değil, bu fonksiyonda başka değişken üreterek onu kaydet.
  • 11-02-2010, 12:46:09
    #9
    php7 adlı üyeden alıntı: mesajı görüntüle
    Ozaman şöyle yapalım;

    Arkadaşımız yukarıda bu fonksiyonu vermiş;
    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;
    }
    Bunu text'e veritabanına kaydedilmeden hemen önce okut.
    Eğer önce veritabanına kaydedip sonra aramayı yapıyorsa, veritabanına $text değişkenini değil, bu fonksiyonda başka değişken üreterek onu kaydet.
    Php bilgim fazla olmadığı için tıkanıyorum.Veriler veritabanına Türkçe gitsin burda sorun yok sorun bunları çekerken dönüştürebilmek.Arkadaşa söyledim bakalım olmadı deneme yanılma araştırma yöntemleri ile bir şekilde çözücez.
    Verileri çeken ekrana bastıran kod yukarda sanırım oraya birşeyler yapmam lazım.