• 05-04-2014, 11:42:55
    #1
    Arkadaşlar sitemap da sitenin urllerini kodlarken Türkçe karakterleri siliyor. Bu alttaki php dosyasıyla ilgili ama, sorunu düzeltemedim. Yardımlarınızı bekliyorum.

    $tab=0; 
    
    function SeoLink($s){ 
    
        $tr = array('Ş','ş','İ','ı','Ğ','ğ','Ü','ü','Ö','ö','Ç','ç'); 
    
        $eng = array('s','s','i','i','g','g','u','u','o','o','c','c'); 
    
        $s = str_replace($tr,$eng,$s); 
    
        $s = strtolower($s); 
    
        $s = preg_replace('/&.+?;/', '', $s); 
    
        $s = preg_replace('/[^%a-z0-9 _-]/', '', $s); 
    
        $s = preg_replace('/\s+/', '-', $s); 
    
        $s = preg_replace('|-+|', '-', $s); 
    
        $s = trim($s, '-'); 
    
    
    
        return $s; 
    
    } 
    
    
    
    $page = intval(mysql_real_escape_string($_GET['sayfa']));
    
    if(! isset($page)) $sayfa='index'; else $sayfa=$page;
    
    $date = date("20y-m-d");
    
    $index_say=mysql_num_rows(mysql_query("SELECT id FROM lynvideo_video")); 
    
    $index_sayi=ceil($index_say / 5000); 
    
    if(($sayfa=="index") && ($index_say>5000)): 
    
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>  <sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";   
    
    for($i=0; $i<$index_sayi; $i++){  
    
    echo "<sitemap>  <loc>http://www.siteadi.com/sitemap.php?sayfa=".($i+1)."</loc>  <lastmod>$date</lastmod>  </sitemap>\n";  
    
    } 
    
    echo "</sitemapindex>";  
    
    else:  
    
    if($sayfa=='index'){
    
    $sayfa=1;
    
    }
    
    $fileout = 0; 
    
    $out = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> 
    
    <urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 
    
     xsi:schemaLocation=\"http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\">"; 
    
    $cek = mysql_query("SELECT* FROM lynvideo_video ORDER BY id ASC LIMIT ".(($sayfa-1)*5000).",5000");
    
    		while ($rows=mysql_fetch_assoc($cek) ) { 
    
    		
    
    		$link = $rows['id']."-".SeoLink($rows['baslik']); 
    
    		
    
    		$out .= "<url> 
    
    		<loc>http://www.siteadi.com/".$link.".html</loc> 
    
    		  <priority>0.8</priority> 
    
    		</url>"; 
    
    		} 
    
    		$out .= "</urlset>"; 
    
    		header("Content-type: application/xml"); 
    
    		echo $out; 
    
    	endif;
    
    ?>
  • 06-04-2014, 16:20:20
    #2
    Developer
    linklerde türkçe karakter kalsın istiyorsanız.

    $tr = array('Ş','ş','İ','ı','Ğ','ğ','Ü','ü','Ö','ö','Ç','ç');
     
    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c');
     
    $s = str_replace($tr,$eng,$s);
    ve

    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    satırlarını silmeniz yeterli
  • 07-04-2014, 10:07:08
    #3
    FastPHP adlı üyeden alıntı: mesajı görüntüle
    linklerde türkçe karakter kalsın istiyorsanız.

    $tr = array('Ş','ş','İ','ı','Ğ','ğ','Ü','ü','Ö','ö','Ç','ç');
     
    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c');
     
    $s = str_replace($tr,$eng,$s);
    ve

    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    satırlarını silmeniz yeterli
    hocam denedim olmadı. hata verdi. linklerdeki türkçe karakterler silinmiş olarak görünüyor. ( kağıt = kat , KAĞIT = kait )

    sorun bu arada sanki. belirtilen karakterleri değiştirmiyor, siliyor.

    $tab=0; 
     
    function SeoLink($s){ 
     
        $tr = array('Ş','ş','İ','ı','Ğ','ğ','Ü','ü','Ö','ö','Ç','ç'); 
     
        $eng = array('s','s','i','i','g','g','u','u','o','o','c','c'); 
     
        $s = str_replace($tr,$eng,$s); 
     
        $s = strtolower($s); 
     
        $s = preg_replace('/&.+?;/', '', $s); 
     
        $s = preg_replace('/[^%a-z0-9 _-]/', '', $s); 
     
        $s = preg_replace('/\s+/', '-', $s); 
     
        $s = preg_replace('|-+|', '-', $s); 
     
        $s = trim($s, '-'); 
     
     
     
        return $s; 
     
    }
  • 08-04-2014, 17:53:34
    #4
    Developer
    RK7 adlı üyeden alıntı: mesajı görüntüle
    hocam denedim olmadı. hata verdi. linklerdeki türkçe karakterler silinmiş olarak görünüyor. ( kağıt = kat , KAĞIT = kait )

    sorun bu arada sanki. belirtilen karakterleri değiştirmiyor, siliyor.

    $tab=0; function SeoLink($s){ $tr = array('Ş','ş','İ','ı','Ğ','ğ','Ü','ü','Ö','ö','Ç', 'ç'); $eng = array('s','s','i','i','g','g','u','u','o','o','c', 'c'); $s = str_replace($tr,$eng,$s); $s = strtolower($s); $s = preg_replace('/&.+?;/', '', $s); $s = preg_replace('/[^%a-z0-9 _-]/', '', $s); $s = preg_replace('/\s+/', '-', $s); $s = preg_replace('|-+|', '-', $s); $s = trim($s, '-'); return $s; }
    o durumda sayfanızın karakter kodu ve verinizin karakter kodu birbirinden farklıdır...