Özgür YAMAN - Bilişim Teknolojileri Öğretmeni

PHP'de Hazır Metin Fonksiyonları

Bu yazıda PHP'de kullanılan bazı hazır metin fonksiyonlardan bahsedeceğim. Öncelikle fonksiyonların tanımlarından bahsedip, sonra hepsini içeren örnekler yapacağız. Bu fonksiyonlar:

  • strlen()
  • strpos()
  • substr()
  • str_word_count()

strlen() Fonksiyonu

Bu fonksiyon ile bir metnin uzunluğunu yani kaç karakterden oluştuğunu sayısal olarak elde ederiz. Bu karakterlere boşluk da dahildir. Örneğin:

$metin = "İnternet";
$uzunluk = strlen($metin);	// uzunluk = 8 olur.

strpos() Fonksiyonu

Bu fonksiyon ile bir metinde herhangi bir harfin veya ifadenin kaçıncı karakterden itibaren geçtiğini öğrenebiliriz. Örneğin:

$metin = "İnternet";
$konum = strpos($metin, "net");	// konum = 5
$konum = strpos($metin, "t");	// konum = 2
$konum = strpos($metin, "a");	// konum = FALSE

İkinci örnekte olduğu gibi aranan ifade birden fazla yerde geçiyorsa, ilk geçtiği yer dikkate alınır. Burada ilk karakterin numarası 0 olduğu için t harfi 2.karakter oluyor.

substr() Fonksiyonu

Bu fonksiyon ile bir metnin belirli bir bölümünü elde edebiliriz. Örneğin:

$metin = "İnternet";
$a = substr($metin, 0, 5);	// a = İnter
$b = substr($metin, 5, 3);	// b = net
$c = substr($metin, 6, 1);	// c = e

Görüldüğü gibi bu fonksiyon virgüllerle ayrılan 3 parametre alıyor. Bunlardan birincisi hangi metne bakıyoruz, ikincisi kaçıncı karakterden başlıyoruz, üçüncüsü ise kaç karakter alıyoruz. Birinci örnekte $metin değişkeninin sıfırıncı karakterinden başlayarak 5 karakter alıyoruz. İkinci örnekte 5. karakterden başlayıp 3 karakter alıyoruz. Son örnekte ise 6. karakterden başlayarak 1 karakter, yani 6.karakteri alıyoruz. Burada yine ilk karakterin sıfırıncı karakter oluğunu unutmamamız gerekiyor.

str_word_count() Fonksiyonu

Bu fonksiyon ile bir metnin kaç kelimeden oluştuğunu öğrenebiliriz. Örneğin:

$metin = "İnternet Programcılığı";
$a = str_word_count($metin);	// a = 2

Genel Örnekler

Örnek - 1: Bir metindeki a karakterinin kaç defa geçtiğini bulma:

$metin = "Akıllı adam aklını kullanır. Daha akıllı adam başkalarının da
aklını kullanır. (Bernard Shaw)";
$uzunluk = strlen($metin);
$sayac = 0;

for($i = 0; $i <= $uzunluk - 1; $i++) {
	if (substr($metin, $i, 1) == "a") {
			$sayac++;
		}
}

echo($sayac);
&#91;/php&#93;

Örneği açıklamak gerekirse; öncelikle $uzunluk değişkenine $metin değişkeninin karakter sayısı atanıyor. Daha sonra metin değişkeninini oluşturan her bir harfe for döngüsü ve substr fonksiyonu aracılığıyla ulaşılıyor (Döngünün 0'dan metin uzunluğunun bir eksiğine kadar oluşturulduğuna dikkat edin. Çünkü karakterler 0'dan başlıyor.). Daha sonra if ile o karakerin a harfi olup olmadığına bakılıyor. Eğer karakter a ise sayaç bir arttırılıyor. Döngüden çıkınca da $sayac değişkeninin değeri ekrana yazdırılıyor.

<strong>Örnek - 2:</strong> Birden fazla kelimeden oluşan bir metnin ilk kelimesini ekrana yazdırma:
[php]
$metin = "Bilgi bir ışık gibidir. Onu kullanırsanız daha parlak olur, 
kullanmazsanız söner. (Alexander Everett)";
$bosluk = strpos($metin, " ");
if ($bosluk<>FALSE) {
	echo substr($metin, 0, $bosluk);
}
else {
	echo $metin;	
}

Bu örnekte de boşluk karakterinin nerede geçtiğini bularak, $metin değişkeninin 0'dan boşluk karakterine kadar olan kısmını ekrana yazdırdık. Eğer boşluk yoksa değişkenin kendisini ekrana yazdırdık.

Etiketler: , , , ,

Bu Konuda Ne Düşünüyorsun?

Mesaj yazabilmek için giriş yapmalısınız.