v2.5.2
Giriş yap

Php ile Ad Soyad ilk harfleri çekme

hyki89
1,414 defa görüntülendi

Merhaba, php ile Ad Soyad ilk harflerini çekmek isyorumda nası lyaparım $adsoyad = "Ad Soyad"; burdaki veriyi ad ve soyad olarak nasıl çekerim.

Cevap yaz
Cevaplar (5)
ersiin
1426 gün önce

Fonksiyonun son hali şu şekilde. Eğer fonksiyona ikinci parametre olarak 1 değeri girerseniz isim ve soyismin geri kalan harflerini yıldız ile sansürlüyor. Test ettim :)

<?PHP
function ilkharfler($adsoyad, $yildiz = 0){
$bol = explode(" ", $adsoyad);
$ad = $bol[0];
$soyad = $bol[1];
$x = substr($ad, 1);
$adilkharf = str_replace($x, "", $ad);
$y = substr($soyad, "1");
$soyadilkharf = str_replace($y, "", $soyad);
if($yildiz=="1"){
    for($sayi = 0; $sayi < strlen($x); $sayi++) {
   $yildiz_ad = "$yildiz_ad" . "*";
}
    for($sayi = 0; $sayi < strlen($y); $sayi++) {
   $yildiz_soyad = "$yildiz_soyad" . "*";
}
}
return "$adilkharf" . "$yildiz_ad" . " " . "$soyadilkharf" . "$yildiz_soyad";
}

Kullanımı:

<?PHP
echo ilkharfler("Elon Musk", 1);
//Çıktı: E*** M***
echo ilkharfler("Elon Musk");
//Çıktı: E M

Belki bu şekilde daha çok işine yarar. Kolay gelsin :)

ersiin
1426 gün önce

Çok özür diliyorum, cevabımı düzelttim. Bir anda hızlı bir cevap vermişim. Fonsiyon olarak yazdım ayrıca. Kusura bakma :)

hyki89
1426 gün önce

@ersiin hocam hata alıyorum

Warning: Use of undefined constant bol - assumed 'bol' (this will throw an Error in a future version of PHP) in C:xampphtdocstest.php on line 6

Warning: str_replace() expects at least 3 parameters, 2 given in C:xampphtdocstest.php on line 8

Warning: str_replace() expects at least 3 parameters, 2 given in C:xampphtdocstest.php on line 10
aydinkeskin
1426 gün önce
	function kisalt($kelime, $str = 10){
		if (strlen($kelime) > $str){
			if (function_exists("mb_substr")) $kelime = mb_substr($kelime, 0, $str, "UTF-8").'';
			else $kelime = substr($kelime, 0, $str).'';
		}
		return $kelime;
	}
// kullanırken

$veri = "selam dünya";
echo kisalt($veri,1);
	
ersiin
1426 gün önce

Doğru kod son cevabımdadır. Bu cevabı kaldırdım.