İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

seo link yapımında ş ç ı ğ harflerinde sorun

WoLeRiNe

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
1,145
Reaction score
0
Konum
IstanbuL
bir scriptte seo link yapmak için


PHP:
function make_friendly($string)
{
    $string = trim($string);
    $string = strtolower($string);
    $find = array('<b>', '</b>');
    $string = str_replace ($find, '', $string);
    $string = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $string);
    $find = array(' ', '"', '&', '&', '\r\n', '\n', '/', '\\', '+', '<', '>');
    $string = str_replace ($find, '-', $string);
    $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
    $string = str_replace ($find, 'e', $string);
    $find = array('í', 'i', 'ì', 'î', 'ï', 'I', 'I', 'Í', 'Ì', 'Î', 'Ï');
    $string = str_replace ($find, 'i', $string);
    $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
    $string = str_replace ($find, 'o', $string);
    $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
    $string = str_replace ($find, 'a', $string);
    $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
    $string = str_replace ($find, 'u', $string);
    $find = array('ç', 'Ç');
    $string = str_replace ($find, 'c', $string);
    $find = array('s', 'S');
    $string = str_replace ($find, 's', $string);
    $find = array('g', 'G');
    $string = str_replace ($find, 'g', $string);
    $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $string = preg_replace ($find, $repl, $string);
    $string = str_replace ('--', '-', $string);
    $string = $string.".html";
	return $string;
}

fonksiyonunu kullanmak istedim. fakat ''ş ç ı ğ'' harflerini çevirmeyip yokmuş gibi davranmakta.

örneğin : ŞşÇçÖöIıĞğÜü
kelimesini : cou

şekline çeviriyor. örneğin bu fonksiyonu kullanmadan direk olarak gelen veri içindeki ş yi s ye çevirmek istediğimde de yokmuş gibi gibi davranmakta. sizce neden böyle bir sorun var?
 

Cagatay

0
İyinet Üyesi
Katılım
10 Mart 2006
Mesajlar
2,789
Reaction score
0
PHP:
<?php
function duzen ($kelime){

$kelime= strtolower($kelime);
$kelime = str_replace("ı","i",$kelime);
$kelime = str_replace("ç","c",$kelime);
$kelime = str_replace("ö","o",$kelime);
$kelime = str_replace("ş","s",$kelime);
$kelime = str_replace("ğ","g",$kelime);
$kelime = str_replace("ü","u",$kelime);

$kelime = str_replace("I","i",$kelime);
$kelime = str_replace(" ","+",$kelime);
$kelime = str_replace("/","",$kelime);
$kelime = str_replace("&","",$kelime);
$kelime = str_replace("'","-",$kelime);
$kelime = str_replace(".","-",$kelime);
$kelime = str_replace("amp;","-",$kelime);
$kelime = str_replace("-","-",$kelime);
$kelime = str_replace("İ","i",$kelime);
$kelime = str_replace("Ğ","g",$kelime);

$kelime = str_replace("Ş","s",$kelime);
$kelime = str_replace("İ","i",$kelime);
$kelime = str_replace("Ö","o",$kelime);
$kelime = str_replace("Ç","c",$kelime);
$kelime = str_replace("#305;","i",$kelime);


$kelime = str_replace("#350;","s",$kelime);
$kelime = str_replace("#287;","g",$kelime);
$kelime = str_replace("?;","i",$kelime);
$kelime = str_replace("#199;","c",$kelime);
$kelime = str_replace("ş","s",$kelime);
return($kelime);
}
?>
birde bunu denesene ben kullanıyorum sitelerimde hep bunu ama hiç sorun yaşamadım.
 

OnurSQL

0
İyinet Üyesi
Katılım
29 Mart 2005
Mesajlar
2,025
Reaction score
1
Konum
ankara
PHP:
function haymi_seo($s) {
$tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
$eng = array('s','S','i','I','g','G','u','U','o','O','C','c');
$s = str_replace($tr,$eng,$s);
$s = eregi_replace('[^0-9A-Za-z]',"-",$s);

for($i=0;$i <= 10;$i++) {
$s = str_replace("--","-",$s);
}
return strtolower($s);
}
 

WoLeRiNe

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
1,145
Reaction score
0
Konum
IstanbuL
Cagatay

bu sefer şçığ gözüküyor ama scig ye dönüşmeden.

kelime : ŞçÖıĞğÜüU
dönüşüm : ŞcoıĞğÜuu

şeklindeo oluyor.


onursql senin verdiğinde ise aynı benim kullandığım fonksiyondaki gibi karakterleri göstermiyor. sanırım sorun [^0-9A-Za-z] dan kaynaklanmakta.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
Sorun sanırım urldeki karakterlerin encode edilmesinden kaynaklanıyor.
%C3%A7%C5%9F şeklinde.
 

WoLeRiNe

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
1,145
Reaction score
0
Konum
IstanbuL
yani bu fonksiyonu şu şekilmi kullanacağım;

urlencode(make_friendly($string));
 

KaRaKTeR

0
İyinet Üyesi
Katılım
6 Temmuz 2004
Mesajlar
1,920
Reaction score
36
peyler peki str_replace ile (') bunu ve (,) bunu nasıl çeviricez ?
please don't stop the music şarkı sözünü okuyacak user ' bu çevrilmediğinden sayfaya giremiyor, bunun için çözümü olan varmı ?
 

ErsaT

0
İyinet Üyesi
Katılım
9 Temmuz 2005
Mesajlar
200
Reaction score
0
peyler peki str_replace ile (') bunu ve (,) bunu nasıl çeviricez ?
please don't stop the music şarkı sözünü okuyacak user ' bu çevrilmediğinden sayfaya giremiyor, bunun için çözümü olan varmı ?
PHP:
$s = eregi_replace('[^0-9A-Za-z]',"-",$s);
Bu kod zaten ' ve , karakterlerinide - ye çeviriyor.
 

WoLeRiNe

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
1,145
Reaction score
0
Konum
IstanbuL
aslında çok basit bir sorunmuş. script yaparken dreamweaver kullanıyorum, yazdığım tüm türkçe harfleri kendisi ingilizceye çeviriyormuş. bu nedenle bu harfler kaydolunca ingilizce karakterlere dönmekte :) çok basit ama sinir eden bir hata. açtım not defterini düzelttim.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst