Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

str_replace function (usta phpciler acil yardım)

C

chemeng

Misafir
a.r.k.a.d.a.ş.l.a.r;

eklediğim içeriğin adı örneğin fıkra. bunu sayfada fıkra olarak gösteriyor. fakat tıklatığımda www.site.com/fıkra olarak çağırıyor browserda. haliyle tr karakter içerdiği için açılmıyor. benim istediğim bunun sayfada fıkra olarak görünmesi ama tıklayınca www.site.com/fikra olarak çağırması.

bunu str_replace fonksiyonu ile yapıyoruz ama tam olarak yapamadım.

Kod:
$title = str_replace("i","ı",$title);
olarak yaptım olmadı. ı 'yı ascii kodda yazdım bu sefer de y ye benzer şu garip karakter çıkıyor.

Kod:
$title = str_replace("i","ý",$title);
ascii kodlar: http://www.netopsiyon.com/ders-31.html

sizce neden olmuyor? yada htaccess de bişey yapmak gerek mi? bir de asp de

Kod:
<%@ LANGUAGE=VBScript CODEPAGE=1254%>
ekliyoruz ya php de böyle birşeye ihtiyacı olabilir mi?
 

Can

0
Onaylı Üye
Üye
Katılım
29 Eylül 2004
Mesajlar
911
Açılan Konu
23
Tepki puanı
0
Kod:
$title = str_replace("ı","i",$title);

bu sekilde yapman gerekiyor, yanliz kullandigin scriptin fonksiyonlarina gore degisir. cunku mod rewrite yapabilmen icin sadece ı,i yapman yeterli olmayabilir.
 
C

chemeng

Misafir
Can' Alıntı:
bu sekilde yapman gerekiyor, yanliz kullandigin scriptin fonksiyonlarina gore degisir. cunku mod rewrite yapabilmen icin sadece ı,i yapman yeterli olmayabilir.

o şekilde de denedim yine olmadı. sanırım başka bir sorun var. bu fonksiyonda önce ı 'yı mı i 'mi yazmak gerekiyor tam çözemedim.
 

dsgnr

0
Onaylı Üye
Üye
Katılım
22 Mart 2006
Mesajlar
1,144
Açılan Konu
129
Tepki puanı
1
Konum
dev
PHP:
<?
$title    = "ışğçüöİÖŞÜÇĞ";
$aranan   = array ('ç', 'ğ', 'ı', 'ö', 'ş', 'ü', 'Ç', 'Ğ', 'İ', 'Ö', 'Ş', 'Ü'); 
$degisen  = array ('c', 'g', 'i', 'o', 's', 'u', 'c', 'g', 'i', 'o', 's', 'u');   
$title    = str_replace($aranan, $degisen, $title); 
?>
 

Can

0
Onaylı Üye
Üye
Katılım
29 Eylül 2004
Mesajlar
911
Açılan Konu
23
Tepki puanı
0
once turkce karakteri, sonra degismesini istedigin karakteri yazman gerekiyor.
ı,i
ü,u
ğ,g .....

ama dedigim gibi kullandigin scripte gore sadece bunlari degistirmen yeterli olmayacak, .htaccess uzerindede oynama yapman ve scriptin kendi icinde de degisiklik yapman gerekebilir.
 

daRksnak3

0
Onaylı Üye
Üye
Katılım
3 Eylül 2005
Mesajlar
138
Açılan Konu
9
Tepki puanı
0
Konum
Denizli
Eğer dreamweaver kullanıyorsan kodlardaki türkçe karakterleri
çeviriyor. yani eğer kodlarda ı warsa bunu i'ye çeviriyor. (Mx 2004'de)
O kısmını notepad ile ayarlayabilirsin.
 
C

chemeng

Misafir
daRksnak3' Alıntı:
Eğer dreamweaver kullanıyorsan kodlardaki türkçe karakterleri
çeviriyor. yani eğer kodlarda ı warsa bunu i'ye çeviriyor. (Mx 2004'de)
O kısmını notepad ile ayarlayabilirsin.

kodlarda tr karakter yok ki adminden ben ekliyorum tr karakter ama browserda ing ye çevirmesini istiyorum.
 
C

chemeng

Misafir
Can' Alıntı:
once turkce karakteri, sonra degismesini istedigin karakteri yazman gerekiyor.
ı,i
ü,u
ğ,g .....

ama dedigim gibi kullandigin scripte gore sadece bunlari degistirmen yeterli olmayacak, .htaccess uzerindede oynama yapman ve scriptin kendi icinde de degisiklik yapman gerekebilir.

sanırım dediğin gibi scriptte başka oynamalar da yapmak gerek. htaccess de şöyle;

Kod:
RewriteEngine on
RewriteRule ^category/([_A-Za-z0-9-]+)/?$ index.php?action=content&title=$1
 

Can

0
Onaylı Üye
Üye
Katılım
29 Eylül 2004
Mesajlar
911
Açılan Konu
23
Tepki puanı
0
.htaccess de bir sorun gozukmuyor chemeng.

ben mesela, sana dedigim sekilde ayni sorunu duzelttim, ancak sadece turkce karakterleri str_replace yapmanin disinda oynama yapmam gerekti bircok yerinde.

kullandigin script yaygin bi scriptse, scriptin kendi forumunda o konuyla ilgili eminimki daha once bi konu acilmistir...
 
C

chemeng

Misafir
dsgnr' Alıntı:
PHP:
<?
$title    = "ışğçüöİÖŞÜÇĞ";
$aranan   = array ('ç', 'ğ', 'ı', 'ö', 'ş', 'ü', 'Ç', 'Ğ', 'İ', 'Ö', 'Ş', 'Ü'); 
$degisen  = array ('c', 'g', 'i', 'o', 's', 'u', 'c', 'g', 'i', 'o', 's', 'u');   
$title    = str_replace($aranan, $degisen, $title); 
?>

http://tr.php.net/manual/en/function.str-replace.php

burda da dediğine benzer örnek vardı. dediğin gibi yaptım fakat olmadı.

ya aslında boşluk yapınca yani "Abc Def" gibi bir içerik ekliyorum ve tıklıyorum "abc-def" olarak çıkıyor. bunu yapıyor ama altına aynı şekilde ı yı i ye çevir diyorum olmuyor. sanırım vazgeçeceğim bu olaydan.
 
C

chemeng

Misafir
Can' Alıntı:
.htaccess de bir sorun gozukmuyor chemeng.

ben mesela, sana dedigim sekilde ayni sorunu duzelttim, ancak sadece turkce karakterleri str_replace yapmanin disinda oynama yapmam gerekti bircok yerinde.

kullandigin script yaygin bi scriptse, scriptin kendi forumunda o konuyla ilgili eminimki daha once bi konu acilmistir...

evet script lisanslı ve satın aldım. forumunda da bu konuyu dile getirdim ama yapan olmadı. admine desen haftada bir ulaşabiliyorum o da çok kısıtlı bir şekilde görüşebiliyoruz.
 

Can

0
Onaylı Üye
Üye
Katılım
29 Eylül 2004
Mesajlar
911
Açılan Konu
23
Tepki puanı
0
hmm anladim, yanı yardımcı olmak ısterdım ama burdan pek gormeden de dırek mudahale etmek cok zor oluyor. ınsallah yapabılırsın bı sekılde...
 
C

chemeng

Misafir
Can' Alıntı:
hmm anladim, yanı yardımcı olmak ısterdım ama burdan pek gormeden de dırek mudahale etmek cok zor oluyor. ınsallah yapabılırsın bı sekılde...

msn adresim profilimde var. online olabilirsen görüşmek isterim.
 

dsgnr

0
Onaylı Üye
Üye
Katılım
22 Mart 2006
Mesajlar
1,144
Açılan Konu
129
Tepki puanı
1
Konum
dev
PHP:
<? 
$title    = ""; // Buradaki title senin verin 
$aranan   = array (' ', 'ç', 'ğ', 'ı', 'ö', 'ş', 'ü', 'Ç', 'Ğ', 'İ', 'Ö', 'Ş', 'Ü');  
$degisen  = array ('-', 'c', 'g', 'i', 'o', 's', 'u', 'c', 'g', 'i', 'o', 's', 'u');    
$title    = str_replace($aranan, $degisen, $title);  
?>


Bunu doğru yerleştirdiğin taktirde sorun kalmaz.
 

metadige

0
Onaylı Üye
Üye
Katılım
23 Aralık 2005
Mesajlar
354
Açılan Konu
21
Tepki puanı
4
Arkadaşım normalde str_replace ile rahatlıkla olması lazım, sayfanın dil kodlaması türkçe değilse ondan olabilir ?

Eğer halledemediysen msn ye gelirsen yardımcı olmaya çalışıyım.
 
C

chemeng

Misafir
metadige' Alıntı:
normalde str_replace ile rahatlıkla olması lazım, sayfanın dil kodlaması türkçe değilse ondan olabilir ?

Eğer halledemediysen msn ye gelirsen yardımcı olmaya çalışıyım.

evet bence de arkadaşların yazdığı ile olması lazım zaten script boşluk karakterini - ye, ' (üst tırnak) karakterini de _ ye çeviriyor. ama türkçe karakterlerde böyle bir sorun oldu.

msn'e ekledim seni müsait olduğunda görüşelim.
 
Üst