merhabalar. bir inputtan kişinin ismini alıyorum. bu ismide bir kullanıcı adı şeklinde kendim oluşturarak saklamak istiyorum. örneğin kişi "Alİ KesKİN ÖĞretmen" şeklinde bir string girdi. ben bu stringi bir şekilde düzenleyip alikeskinogretmen şeklinde bir değişkene atayıp bunu veritabanıma kaydetmek istiyorum. yazdığım kod şu şekilde:
$metin=$_POST['ad']; $metin=trim($metin); $turkceKarakterler=array("ş","Ş","ü","Ü","ö","Ö","İ","ğ","Ğ","ı","ç","Ç"); $yerineKoyulacaklar=array("s","s","u","u","o","o","i","g","g","i","c","c"); $metin=str_replace($turkceKarakterler,$yerineKoyulacaklar,$metin); $metin=strtolower($metin); $dizi=explode(" ",$metin); $kacEleman=count($dizi); for($i=0;$i<$kacEleman;$i++){ $metin.=$dizi; } echo $metin."<hr>"; Burada fordaki amacım kelimeler arasında boşluk bırakmasını önlemekti. fakat ekrana bastırınca "ali keskin ogretmen" şeklinde bastırıyor. buradaki boşlukları for ile kaldıramadım hatam nedir yada ne yapabilirim? şimdiden çok teşekkür ederim
Türkçe karakterler dizisine boşluk karakterini de ekleseniz aşağıdaki gibi. O zaman döngüye de gerek kalmaz. $turkceKarakterler=array("ş","Ş","ü","Ü","ö","Ö","İ","ğ","Ğ","ı","ç","Ç"," "); // dikkat tırnağın içinde boşluk var. $yerineKoyulacaklar=array("s","s","u","u","o","o","i","g","g","i","c","c",""); // tırnağın içinde boşluk yok.
$metin=$_POST['ad'];
$metin=trim($metin);
$turkceKarakterler=array("ş","Ş","ü","Ü","ö","Ö","İ","ğ","Ğ","ı","ç","Ç");
$yerineKoyulacaklar=array("s","s","u","u","o","o","i","g","g","i","c","c");
$metin=str_replace($turkceKarakterler,$yerineKoyulacaklar,$metin);
$metin=strtolower($metin);
$dizi=explode(" ",$metin);
$kacEleman=count($dizi);
for($i=0;$i<$kacEleman;$i++){
$metin.=$dizi;
}
echo $metin."<hr>";
Burada fordaki amacım kelimeler arasında boşluk bırakmasını önlemekti. fakat ekrana bastırınca "ali keskin ogretmen" şeklinde bastırıyor. buradaki boşlukları for ile kaldıramadım hatam nedir yada ne yapabilirim? şimdiden çok teşekkür ederim