PHP String Fonksiyonları & Metinsel İşlemler

PHP String Fonksiyonları & Metinsel İşlemler

Php string fonksiyonları için bir makale yayınlamayı düşündüm. PHP hazır string fonksiyonlar içerisinde işe yarar, birçoğu uygulamalı halde, derli toplu ayrıntılı bir şekilde bu makalede listelenmiştir. Bu makalede listelenmeyen, ayrı makaleler halinde oluşturulan string fonksiyonlarını da aşağıda görebilirsiniz.

Bu içerikte bahsettiğim fonksiyonlara aşağıdaki başlıklara tıklayarak kolayca ulaşabilirsiniz.

–>str_word_count fonksiyonu ile PHP kelime sayısını bulma
–>addcslashes fonksiyonu
–>addslashes fonksiyonu
–>stripslashes fonksiyonu
–>chr fonksiyonu
–>ord fonksiyonu
–>htmlentities fonksiyonu
–>htmlspecialchars fonksiyonu
–>is_string fonksiyonu
–>nl2br fonksiyonu
–>parse_str fonksiyonu
–>str_repeat fonksiyonu
–>str_replace fonksiyonu
–>str_split fonksiyonu
–>strcasecmp fonksiyonu
–>strcmp fonksiyonu
–>strip_tags fonksiyonu
–>strlen fonksiyonu
–>strpbrk fonksiyonu
–>strstr fonksiyonu
–>strpos fonksiyonu
–>strrpos fonksiyonu
–>strrev Fonksiyonu – Metni Ters Çevirme
–>substr fonksiyonu
–>substr_count fonksiyonu

Pratik bir şekilde PHP kelime sayısını bulma işlemini yerine getirir. 3 parametre alabilir. İlk parametre, kelime sayısının bulunacağı cümleleri içeren string değişken. İkinci ve üçüncü ise parametre isteğe bağlı.

İkinci parametre 0, 1 ve 2 olarak 3 değer alabilir.

  • 0 = Varsayılandır. Fonksiyonun sadece kelime sayısını döndürmesi istenir.
  • 1 = Kelimeleri 0, 1, 2 şeklinde indis değerlerine göre dizi halinde getirir. Bu dizinin eleman sayısını elde ederek kelime sayısını bulabilirsiniz.
  • 3 = Kelimeleri, yazının içinde kaçıncı satırda olduklarına göre indis değerlerini oluşturarak, kelimelerin dizi şeklinde getirilmesini ister. Hem kelimeleri teker teker dizi şeklinde döndürmesi hem de her bir kelimeye strpos fonksiyonu kullanması gibi düşünebilirsiniz. Strpos fonksiyonu ne işe yarıyor diyorsanız, bu sayfada bu fonksiyonun da kullanımını görebilirsiniz.

Üçüncü parametre ise, yazı içerisinde dikkate alınması gereken özel karakterleri belirtir. Burada ç, ö, ü, ı gibi ingilizcede bulunmayan türkçe karakterleri belirterek fonksiyonun doğru sonuç üretilmesi sağlanır.

Şimdi kullanışına bakalım.

$text = 
'
	Günümüzde insanlar kendisine yardımcı olacak ürün, hizmet veya bilgiyi bulmak için internete güveniyorlar. Bu insanlara ulaşmak ve arama motoru sonuç sayfası (SERP)′te karşılarına çıkmak için sorguladıkları kelimeleri ve ifadeleri ve bu kelimelere benzer kelimeleri web sitenizde bulundurmanız gerekir.

	Bu noktada arama motoru optimizasyonu veya diğer bir ifadeyle SEO çalışması gibi terimler sıklıkla karşımıza çıkar. SEO′da yeniyseniz ve potansiyel müşterilerinizi bulmak için sitenize trafik çekmek istiyorsanız, bu konularda araştırma yaparken sürekli ″anahtar kelime″ terimi ile karşılaşmışsınızdır.

	Peki anahtar kelime nedir ve neden önemlidir?

	Bu içerikte yukarıdaki sorularla birlikte anahtar kelimelerin nasıl bulunacağı, SEO amacına göre nasıl seçilebileceği ve site içerisinde anahtar kelimelerin nasıl kullanılacağı gibi konulardan bahsedeceğiz.
';

$data = str_word_count($text); //sadece kelime sayisini dondurur. Ancak yazıda türkçe karakterler varsa bu karakterler sayılmayacağı için doğru sonuç döndürmeyecektir
$data = str_word_count($text,0,'öçşığüÖÇŞİĞÜ'); //türkçe karakterleri dikkate alır ve kelime sayısını döndürür.
$data = str_word_count($text,1,'öçşığüÖÇŞİĞÜ'); //[0] => Günümüzde [1] => insanlar [2] => kendisine [3] ... şeklinde sıra sıra bütün kelimeleri dizi şeklinde döndürür
$data = str_word_count($text,2,'öçşığüÖÇŞİĞÜ'); //[3] => Günümüzde [16] => insanlar [25] => kendisine [35] ... şeklinde kelimelerin yazı içerisindeki konumlarına göre indis değerleri belirlenmiş dizi şeklinde değer döndürür

print_r($data);

Bir metin içerisinde belirtilen karakterlerin önüne ters slash işareti ekleme işlemini gerçekleştirir. Büyük, küçük harfe duyarlıdır. Addcslashes fonksiyonu kullanımı için 2 parametre gereklidir. İlk parametre metin değeri, ikinci parametre ise önüne slash işareti eklenecek olan karakterdir. PHP addcslashes fonksiyonu kullanım şekli aşağıdaki gibidir.

$metin = 'Merhaba, Ben Muhammed Yaman.';
echo addcslashes($metin,'M');
//çıktı: Merhaba, Ben Muhammed Yaman.

Veritabanı gibi özel işlemlerde kullanılırken güvenlik açığına sebep olabilecek tırnak işaretinin önüne slash işareti ekleme işlemini gerçekleştirir. PHP addslashes fonksiyonu kullanım şekli aşağıdaki gibidir.

$metin = "Turkiye'de gezilmesi gereken yerler.";
echo addslashes($metin);
//çıktı: Turkiye'de gezilmesi gereken yerler.

Veritabanı gibi özel işlemlerde verinin veritabanına eklenmeden önce tırnak işaretlerine yada belirli bazı karakterlerin önüne slash işareti eklenebilir. Bu içerikleri veritabanından çağırıp yazdırdığımızda slash işaretlerini silme gereği hissederiz. Stripslashes fonksiyonu ile slash işaretlerini silme işlemini sağlıyoruz. PHP stripslashes fonksiyonu kullanımı aşağıdaki gibidir.

$metin = "Turkiye'de gezilmesi gereken yerler.";
echo stripslashes($metin);
//çıktı: Turkiye'de gezilmesi gereken yerler.

Parametre olarak girilen ASCII kodu değerinin karşılığını veren karakteri geri döndürür. PHP Chr fonksiyonu kullanımı aşağıdaki gibidir.

echo chr(51);
//çıktı: 3
echo chr(77);
//çıktı: M

ASCII Kodu, bilgisayar üzerinde kullanılan harf, karakter, rakam gibi sembollerin bilgisayarın anlayacağı şekilde temsil edilme şeklidir. ASCII kodları içerisinde ekranda gösterilmeyen metin kontrol işlemlerini gerçekleştiren 33 tane kontrol karakteri ve ekranda gözüken, metin içerisinde bulunan 95 tane karakter bulunur.

Parametre olarak girilen karakterin ASCII kodu değerini döndürür. Chr fonksiyonunun yaptığının tersini yapar. PHP ord fonksiyonu kullanımı aşağıdaki gibidir.

echo ord(3);
//çıktı: 51
echo ord('M');
//çıktı: 77

Html içerisindeki özel karakterleri, tek tırnak, çift tırnak, & ve etiketler gibi sunucu tarafında güvenlik zaafiyeti oluşturabilecek ifadeleri filtreleyip, etkisiz hale getirilmesini sağlar. PHP htmlentities fonksiyonu kullanımı aşağıdaki gibidir.

$degisken = "
Bir div
- "; echo htmlentities($degisken);

PHP string fonksiyonları içerisinde sık sık kullanılan tmlspecialchars fonksiyonu, htmlentities fonksiyonu gibi html etiketlerini etkisiz hale getirilmesini sağlar. Ancak htmlentities fonksiyonu birçok sunucuda sıkıntı çıkartabilir yada çalışmayabilir. Bu yüzden daha sık kullanılan ve bu tür işlevleri gerçekleştirebilen htmlspecialchars fonksiyonunu kullanmak daha uygundur. PHP htmlspecialchars fonksiyonu kullanımı aşağıdaki gibidir.

$degisken = "
Bir div
- "; echo htmlspecialchars($degisken);

Fonksiyon parametresine yazılan değişkenin tipinin string olup olmadığını kontrol eder. String ise 1 yani ‘true’, değil ise 0 yani ‘false’ değeri döndürür. PHP is_string fonksiyonu kullanımı aşağıdaki gibidir.

$degisken = 'Merhaba';
echo is_string($degisken);
//çıktı: 1
if (is_string($degisken)){
	echo 'Değişken string türündedir.';
}else{
	echo 'Değişken string değildir.';
}
//çıktı: Değişken string türündedir.

Enter tuşu ile satırlar oluşturulmuş bir metni sayfa içerisinde yazdırmak istediğimizde düz bir metin halinde yazılmış olarak gözükür. Nl2br fonksiyonu ile metin içerisinde enter tuşuna basılan yerlere
etiketi eklenmesi sağlanacaktır. PHP nl2br fonksiyonu kullanımı aşağıdaki gibidir.

$degisken = 
"
	Satırları olan
	örnek bir
	metin içeriği.
";
echo $degisken; 
//Satırları olan örnek bir metin içeriği.
echo nl2br($degisken); 
/*
	Satırları olan
	örnek bir
	metin içeriği.
*/

Parse_str fonksiyonu ile url yolundaki değişkenleri ayrıştırıp, PHP üzerinde hafızada değişken oluşturulmasını yada bir diziye aktarılmasını sağlar. 2 parametre ile kullanılabilir. İkinci parametre zorunlu değildir. Eğer ikinci parametre kullanılır ise url yolundaki değişkenler diziye aktarılır. PHP narse_str fonksiyonu kullanımı aşağıdaki gibidir.

$get_url_bilgileri = 'degisken1=birinci°isken2=ikinci';
parse_str($get_url_bilgileri);
echo $degisken1; //çıktı: birinci

parse_str($get_url_bilgileri,$dizi);
print_r($dizi); //çıktı: Array ( [degisken1] => birinci [degisken2] => ikinci )

Str_repeat fonksiyonu belirtilen string değeri belirtilen sayı kadar tekrar edilmesini sağlar. 2 parametre ile kullanılır. İlk parametre metin, ikinci parametre ise tekrarlanacak sayı değeridir. PHP str_repeat fonksiyonu kullanımı aşağıdaki gibidir.

echo str_repeat("ku",5);//çıktı: kukukukuku

PHP string fonksiyonları içerisinde bulunan str_replace fonksiyonu bir metin içerisinde bazı kelimelerin belirtilen kelimeler ile değiştirilebilmesini sağlar. 3 parametre ile kullanılır. İlk parametre metin içerisinde değiştirilecek kelimeler, ikinci parametre değiştirilecek kelimelerin yerine getireceğimiz kelimeler, üçüncü parametre ise metin. Str_replace fonksiyonu büyük – küçük harfe duyarlıdır. Duyarsız olması isteniyor ise str_ireplace fonksiyonu kullanılması gerekir. 4 parametre ile de iki fonksiyon kullanılabilir ama zorunlu değildir. Dördüncü parametre ise kaç kere değiştirme işlemi yapıldığını belirtir. PHP str_replace fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Cevdet, Cengizden daha kısa';
echo str_replace('kısa','uzun',$metin,$sayi);
//çıktı: Cevdet, cengizden daha uzun
echo $sayi; //çıktı: 1

Tek fonksiyon ile metinde birden fazla değişiklik yapmak için aşağıdaki örnekteki gibi kullanabilirsiniz. Aşağıdaki örnekte tek tırnak ve çift tırnak karakterlerini silme işlemi gerçekleştiriliyor.

$metin = 'Birinci grubun adı "Konya"'." İkinci grubun adı 'Antalya'";
echo str_replace(array("'", '"'), array('', ''), $metin);
//çıktı: Birinci grubun adı Konya İkinci grubun adı Antalya

Birden fazla değişmesi gereken veri olup, hepsinin de farklı değerlerle değişmesi gerekirse aşağıdaki şekilde bu işlemi yapabiliriz.

$metin =
trim('
	
     
     
     
'); $degistirilecek_terim = ' '; $yeni_metin = ''; $degistirilecek_terim_sayi = substr_count($metin, $degistirilecek_terim); //degistirilecek veri sayisi for ($i=0; $i <= $degistirilecek_terim_sayi; $i++) //degistirilecek sayi kadar dön { /* (1): ilk parametre degistirilecek terim yani   degeri (2): ikinci parametre: bu degeri bos_alan_ ve $i degiskeniyle degistir (3): üçüncü parametre: $metin degiskenini alir ve dongu her dönüşünde, metnin en basindan itibaren sira sira kopyalanacak kelimenin son harfine kadar ki metni kopyalar. Böyle böyle sıra sıra döngü ile değiştirilecek kelimeye kadar ki bulunan kelimeleri değiştirerek tüm metni döngü ile gezer ve bütün kelimeler istenilen veri ile değiştirilir. kopyalama isleminin yapilacagi string metin degeri. Döngü her dönüşünde substr ile metinde degistirilecek ilk veriyi kopyalıyoruz. Strpos fonksiyonu metinde degistirilecek verinin ilk ve son konumunu ister. Başlangıç yani kaçıncı karakterden başlayacağını 0 ile, son konumunu ise strpos fonksiyonu ile degistirilecek ilk verinin başlangıç konumu ile kelimenin karakter sayisini toplayarak elde ediyoruz. (4): $metin degiskenindeki ilk değiştirilecek veriden önceki bütün kelimeleri silerek $metin degiskenini gunceller. Boylelikle sıra sıra veriler degistirilir. Değiştirilerek oluşturulan yeni içerik $yeni_metin ise, döngü sonrasında ekrana yazdırılır. */ $yeni_metin .= str_replace( $degistirilecek_terim, /*(1)*/ 'bos_alan_'.($i+1), /*(2)*/ substr( $metin, 0, strpos($metin, $degistirilecek_terim)+strlen($degistirilecek_terim)) //(3) ); $metin = substr($metin, strpos($metin, $degistirilecek_terim)+strlen($degistirilecek_terim)); //(4) } echo $yeni_metin;

Str_split fonksiyonu, bir metni parçalara bölme işlemini gerçekleştirir ve bölünen parçalar dizi halinde döndürülür. 2 parametre ile kurulur. İlk parametre metin, ikinci parametre ise bölünecek metnin kaçar gruplar halinde bölünmesi gerektiğini yani bölünen her bir parçanın kaç harf içermesi gerektiğini belirtir. İkinci parametre zorunlu değildir. Eğer ikinci parametre kullanılmaz ise harf harf metni parçalara ayırma işlemi gerçekleşir. PHP str_split fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Muhammed';
print_r(str_split($metin)); //çıktı: Array ( [0] => M [1] => u [2] => h [3] => a [4] => m [5] => m [6] => e [7] => d )
print_r(str_split($metin,3)); //Array ( [0] => Muh [1] => amm [2] => ed )

İki metni büyük – küçük harfe duyarlı olmadan harflerine göre kıyaslar. 2 parametre ile kullanılır ve bu 2 parametre kıyaslanacak string değerleridir. Strcasecmp fonksiyonu ile metin kıyaslama işlemi sonucunda; eğer 2 metin birbirine eşit ise fonksiyon 0 döndürür, birinci parametre ikinci parametreden büyük ise 0 dan büyük pozitif bir sayı döndürür, ikinci parametre birinci parametreden büyük ise 0 dan küçük bir sayı döndürür.

Strcasecmp fonksiyonu ile string değer karşılaştırması yaparken 0, 0’dan büyük yada küçük değerler döndürmesinin bir mantığı var. PHP strcasecmp fonksiyonu kullanımı aşağıdaki gibidir. Örneklere bakarak strcasecmp fonksiyonu çalışma mantığı daha kolay anlaşılabilir.

$metin1='aaa';
$metin2='aaa';
echo strcasecmp($metin1,$metin2); //çıktı: 0
//İki metin eşittir, 0 değeri döner

$metin1='aaaaa';
$metin2='aaa';
echo strcasecmp($metin1,$metin2); //çıktı: 2
/*
	İki metin kıyaslanırken ilk 3 harf eşit olduğu için 5 harfe sahip olan birinci metin daha büyüktür. 
	Birinci metindeki son 2 harf için 2 metinde harf karşılığı olmadığından dolayı yani birinci metnin 2 harf fazlalığı olduğu için 
	harf sırasına göre kıyaslama yapılamıyacağından dolayı harf fazlalığı olan 2 sayısı fonksiyondan döner.
	Eğer [$metin1 = 'aaa'; $metin2 = 'aaaaa';] olmuş olsaydı -2 değeri dönerdi.
*/

$metin1='aac';
$metin2='aab';
echo strcasecmp($metin1,$metin2); //çıktı: 1
/*
	İki metnin harf sayısı eşit. Eşit olmayan harfler 3. harfler. 
	C harfi alfabede 3. sırada. B harfi 2. sırada 3-2=1 olduğu için fonksiyon 1 değeri döndürür
	Eğer [$metin1 = 'aab'; $metin2 = 'aac';] olmuş olsaydı -1 değeri dönerdi.
*/

$metin1='aaca';
$metin2='aab';
echo strcasecmp($metin1,$metin2); //çıktı: 1
/*
	Bu iki metin kıyaslanmasında da yukarıdaki sonuç gibi 1 değeri döner. Çünkü harf harf kıyaslanma gerçekleştiği için c-b = 3-2 = 1 değeri ortaya çıkar.
	3. sütunda metinler birbirine eşit olmadığı için diğer sütunlara bakılmaya gerek yok. birinci metin, ikinci metinden daha büyük.
	Eğer [$metin1 = 'aab'; $metin2 = 'aaca';] olmuş olsaydı -1 değeri dönerdi.
*/

$metin1='aaa';
$metin2='aab';
echo strcasecmp($metin1,$metin2); //çıktı: -1
/*
	İki metinde ilk 2 harf eşit. 3. harflere bakılıyor. a harfi alfabede 1. sırada. b harfi 2. sırada. a-b = 1-2 = -1 değeri ortaya çıkar. -1 değeri döndürür
	Eğer [$metin1 = 'aab'; $metin2 = 'aaa';] olmuş olsaydı 1 değeri dönerdi.
*/

$metin1='aaa';
$metin2='aac';
echo strcasecmp($metin1,$metin2); //çıktı: -2
/*
	İki metinde ilk 2 harf eşit. 3. harflere bakılıyor. a harfi alfabede 1. sırada. c harfi 3. sırada. a-c = 1-3 = -2 değeri ortaya çıkar. -2 değeri döndürür
	Eğer [$metin1 = 'aac'; $metin2 = 'aaa';] olmuş olsaydı 2 değeri dönerdi.
*/

$metin1='aaaa';
$metin2='aac';
echo strcasecmp($metin1,$metin2); //çıktı: -2
/*
	Bu iki metin kıyaslanmasında da yukarıdaki sonuç gibi -2 değeri döner. Çünkü harf harf kıyaslanma gerçekleştiği için a-c = 1-3 = -2 değeri ortaya çıkar.
	3. sütunda metinler birbirine eşit olmadığı için diğer sütunlara bakılmaya gerek yok. birinci metin, ikinci metinden daha küçük.
	Eğer [$metin1 = 'aac'; $metin2 = 'aaaa';] olmuş olsaydı 2 değeri dönerdi.
*/

İki metni büyük – küçük harfe duyarlı bir şekilde harflerine göre kıyaslar. Mesela, strcmp(‘a’,’A’) olduğu durumda birinci parametre ‘a’, ikinci parametreden ‘A’ büyüktür. Küçük harf önceliklidir. Aşağıda büyük – küçük harfe duyarlı metin karşılaştırması yapan PHP strcmp fonksiyonu kullanımı örneği bulunmakta. Büyük – küçük harf duyarlılığı haricinde diğer özellikleri strcasecmp fonksiyonu kullanımı ile aynı olduğu için tekrar göstermeyeceğim.

$metin1='a';
$metin2='A';
echo strcmp($metin1,$metin2); //çıktı: 1

PHP’de metin içerisinde bulunan html etiketlerini silmek için kullanılan fonksiyonlardan biridir. 2 parametre ile kullanılır. İlk parametre metin değeri, ikinci parametre ise metin içerisinde silinmesi istenmeyen html etiketleridir. Strip_tags kullanımı aşağıdaki gibidir.

$metin = 
'
	
		

Merhaba

'; echo strip_tags($metin,'

');

Yukarıdaki örnekte, metin adlı
değişkenin içerisinde bulunan html etiketlerini temizleme işlemi
gerçekleştiriliyor. Ayrıca strip_tags fonksiyonunun 2.
parametresinde belirtilen etiketler eğer metin adlı değişken
içerisinde var ise o etiketlerin silinmesi de engelleniyor.

PHP string fonksiyonları içerisinde yer alan strlen fonksiyonu bir metnin uzunluğunu bulmak için kullanılır. Harf sayısını verir. Türkçe karakterleri 2 karakter olarak algılar. O yüzden mb_strlen fonksiyonu kullanmak gerekir. PHP strlen fonksiyonu kullanımı ve mb_strlen fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Türkçe';

echo strlen($metin); //çıktı: 8
echo mb_strlen($metin,'UTF-8'); //çıktı: 6

Metin içerisinde belirtilen karakterden öncesini silmeyi, kesmeyi sağlar. Birçok karakter tanımlanabilir. Tanımlanan karakterlerden ilk olarak hangisi metinde geçiyorsa o karaktere göre metin, o karakterin geçtiği bölgeden itibaren bölünür. PHP strpbrk fonksiyonu kullanımı aşağıdaki gibidir.

echo strpbrk('Merhaba Muhammed','aud'); //çıktı: aba Muhammed 
//a,u,d karakterlerinden herhabgi biri metinde ilk olarak nerede geçiyor ise o karakterden öncesini kes, sil 

Metin içerisinde arama yapılması ve metinde aratılan kelime yada karakter ile birlikte sonrasındaki kelimelerin getirilmesi işlemini gerçekleştirir. 2 parametre ile kullanılır. İlk parametre metin, ikinci parametre aratılacak kelime yada karakter. İkinci parametreye Parametreye ASCII kodu eklenerek aratılma yapılabilir. Büyük – küçük harfe duyarlıdır. Büyük – küçük harf duyarsız metinde kelime araması yapmak isteniyor ise stristr fonksiyonu kullanılabilir. Kullanma şekli aynıdır. Türkçe karakter sorunu olur ise mb_strstr fonksiyonu kullanılabilir. PHP strstr, stristr ve mb_strstr fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'site adresi: www.muhammedyaman.com';

echo strstr($metin,'www.'); //çıktı: www.muhammedyaman.com
echo stristr($metin,'www.'); //çıktı: www.muhammedyaman.com
echo mb_strstr($metin, "www.",false,"UTF-8"); //çıktı: www.muhammedyaman.com

if(strstr($metin,'www.')){ //www. kelimesi metinde var mı
	echo 'var';
}else{
	echo 'yok';
}

Strpos fonksiyonu ile metin içerisinde arama yapma işlemi yapılabilir. Aranan değer var ise değerin metin içerisindeki pozisyonu, sıra sayısı geri döner. Aranan değerden metin içerisinde birden fazla var ise ilk geçen değerin pozisyonu döner. 3 parametre ile kullanılır. İlk parametre metin, ikini parametre metin içerisinde aranacak değer, üçüncü parametre metin içerisinde aranmaya başlayacak sıra sayısı. Üçüncü parametreyi kullanmak zorunlu değil, varsayılan olarak 0’dır. PHP strpos fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Bu bir deneme bir deneme yazısıdır.';
echo strpos($metin,'deneme',0); //çıktı: 7

Strpos fonksiyonu gibi metin içerisinde arama yapma işlemi yapılır. Strpos fonkiyonu kullanımı ve mantığı ile aynıdır. Tek fark, aranan değer metin içerisinde birden fazla bulunuyor ise strpos fonksiyonu ilk değerin pozisyonunu döndürür, strrpos fonksiyonu ise son değerin pozisyonunu döndürür. PHP strrpos fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Bu bir deneme bir deneme yazısıdır.';
echo strpos($metin,'deneme',0); //çıktı: 18

Parametre ile gönderilen metni ters çevirme işlemini gerçekleştirir. PHP strrev fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Parola';
echo strrev($metin); //çıktı: aloraP

Metin içerisinde istenilen bölgeyi kopyalamak, elde etmek için kullanılan fonksiyondur. 3 parametre ile kullanılır. İlk parametre metin, ikinci parametre metin içerisinde kopyalamanın kaçıncı karakterden itibaren başlayacağının belirtildiği sayı, üçüncü parametre ise kopyalamanın kaçıncı karaktere kadar devam edeceğini belirten sayıdır.

Not: İkinci ve üçüncü
parametrede verilen sayı pozitif ise metinde [baştan itibaren]
kaçıncı karakterden başlanacağı veya biteceği belirtilir.
Negatif ise metinde [sondan itibaren] kaçıncı karakterden
başlanacağı veya biteceği belirtilir.

Substr fonksiyonu Türkçe karakter desteği sağlamıyor. Yani fonksiyonu kullanırken Türkçe karakterleri 2 karakter sayması ve Türkçe karakterlerde bazı hatalar oluşması gibi sorunlar ortaya çıkabilir. Bu yüzden Türkçe karakter desteği olan ve substr fonksiyonu ile aynı işlevi gerçekleştiren mb_substr fonksiyonu kullanmak gerekiyor. PHP substr ve mb_substr fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Türkçe örnek bir metin.';

echo substr($metin,0,5); //çıktı: Türk
echo substr($metin,-6,5); //çıktı: metin
echo substr($metin,-6,-1); //çıktı: metin

echo mb_substr($metin,0,5,'UTF-8'); //çıktı: Türkç
echo mb_substr($metin,-6,5,'UTF-8'); //çıktı: metin
echo mb_substr($metin,-6,-1,'UTF-8'); //çıktı: metin

Metin içerisinde bir verinin kaç defa geçtiğini bulmamızı sağlar. 2 parametre ile kullanılır. İlk parametre string değer, ikinci parametre ise metinde kaç defa geçtiğini öğrenmek istediğimiz veri. PHP substr_count fonksiyonu kullanımı aşağıdaki gibidir.

$metin = 'Birinci türkçe, ikinci türkçe, üçüncü kelime.';
echo substr_count($metin,'türkçe'); //çıktı: 2
Yorum Yap
0 Yorum yapan