• 14-09-2012, 12:23:42
    #1
    merhaba arkadaşlar sef link fonksiyonum var ben bu fonksiyonu çağırdığım zaman sayfalarda ekara .(nokta) bastırıyor. nerde hata yaptığımı bir türlü bulamadım.
    function sed_filtetr($text) {  
        $text=str_replace(" ","-",trim($text));  
        $text=preg_replace("@[^A-Za-z0-9\-_ÐÜÞÝÖÇðüþýöç]+@i","",$text);  
        $text=preg_replace("/ +/"," ",trim($text));  
        $text=preg_replace("/[-]+/","-",$text);  
        $text=preg_replace("/[_]+/","-",$text);  
        $text=str_replacei($text);  
        if ((mb_substr($text,-1)=='_')||(mb_substr($text,-1)=='-')) $text=mb_substr($text,0,-1);  
        return $text;  
    }  
    
    function str_replacei($text) { 
        $TRBul=array('ð','Ü','þ','ý','Ö','Ç','Ð','ü','Þ','Ý','ö','ç'); 
        $TRDegistir=array('g','u','s','i','o','c','g','u','s','i','o','c'); 
        $text=str_replace($TRBul,$TRDegistir,$text); 
        $text=mb_strtolower($text); 
        return $text; 
    }
  • 14-09-2012, 17:20:14
    #2
    Üyeliği durduruldu
    Kod konusunda çok biligili değilim ama elimde güzel ve düzgün çalışan bir sef link fonksiyonu var bunu kullanabilirsin.

    function sef_link($url){
        $url = trim($url);
        $url = strtolower($url);
        $find = array('<b>', '</b>');
        $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('Y');
        $url = str_replace ($find, 'y', $url);  
        $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
        $repl = array('', '-', '');
        $url = preg_replace ($find, $repl, $url);
        $url = str_replace ('--', '-', $url);
        return $url;
    }
  • 14-09-2012, 18:20:36
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    bunlara hiç gerek yok. sorunsuz çalışan bir fonksiyon adresi:

    http://www.seoteknikleri.com/php-ile...gi-script.html
  • 14-09-2012, 18:29:07
    #4
    Üyeliği durduruldu
    Benim kullandığım sef link fonksiyonu. Arkadaşların paylaştığı ile seç beğen al
    Alıntı
    ## SEO Fonksiyonu ##
    function sef_link($baslik){
    $bul = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', '-');
    $yap = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', ' ');
    $perma = strtolower(str_replace($bul, $yap, $baslik));
    $perma = preg_replace("@[^A-Za-z0-9\-_]@i", ' ', $perma);
    $perma = trim(preg_replace('/\s+/',' ', $perma));
    $perma = str_replace(' ', '-', $perma);
    return $perma;
    }
  • 15-09-2012, 11:10:29
    #5
    arkadaşlar teşekkür ederim ama sonuç yine aynı. ekrana . bastırıyor

    seflink yaptığım satır

    "<a href=\"page.php?id=".$row['page_id']."&amp;kat=".sef_link($sed_cat[$c]['title'])."&baslik=".sef_link($row['page_title'])."\">
    			".sed_cc(sed_cutstring(stripslashes($row['page_title']),35))."</a>",

    sef linkilerin eklentisi

    $ararm = array (  
                    "'<a href=\"page.php\?([a-z0-9_]*)=([0-9a-z-]*)\&amp;kat=([0-9a-z-]*)&baslik=([0-9a-z-]*)\"'i", 
     );
    
    
    $degistirrm = array (  
                     "<a href=\"\\3/\\4-\\2.html\"",        
                     );
    	$output = preg_replace ($ararm, $degistirrm, $output);
  • 15-09-2012, 11:16:55
    #6
    Üyeliği durduruldu
    bir yerde hata yapıyorsundur mutlaka. çalıştıgın sayfanın kodlarını yazabilirsen bakalım.
  • 15-09-2012, 11:17:37
    #7
    son mesajıma ekledim hocam