Php string fonksiyonları string ifadeleri parçalama, birleştirme, bölümlere ayırma, ifadenin uzunluğunu bulma gibi işlemleri kolaylıkla yapabilmemizi sağlayan php tarafından kullanıma sunulan hazır string veri fonksiyonlarıdır.
strlen() String Fonksiyonu
Bu fonksiyon string ifadenin toplam karakter uzunluğunu boşluklarda dahil olacak şekilde bulmak için kullanılır.
<?php $kelime = 'Merhaba'; echo 'Merhaba kelimesi '.strlen ($kelime). ' karakterden oluşmaktadır.'; ?>
trim(), ltrim(), rtrim() String Fonksiyonları
Bu üç fonksiyon sırasıyla string verinin hem sağındaki hem solundaki, sadece solundaki ve sadece sağındaki boşluk karakterlerini silmek için kullanılır.
Fonksiyon | Açıklama |
trim() | Kelimenin hem sağındaki hem solundaki boşlukları temizler. |
ltrim() | Kelimenin sadece solundaki boşlukları temizler. |
rtrim() | Kelimenin sadece sağındaki boşlukları temizler. |
trim fonksiyonu en sık kullanacağınız türden bir boşluk temizleme fonksiyonudur. Örneğin uygulamanızdaki kullanıcı girişi ekranında kullanıcı yanlışlıkla yada bilerek kullanıcı adı ve şifre alanlarına boşluk girişi yapabilir ama bunu engellemek için trim fonksiyonunu kullanabiliriz. Başka bir örnek belirli sayıda karakter girilmesi gereken alanlarda yine boşluk kullanılarak girilmiş gibi gösterilmesinin önüne geçebiliriz.
<?php $metin = " Metin İşleme "; echo "Normal uzunluk : " . strlen($metin) . "<br />"; echo "Soldan :" . strlen(ltrim($metin)) . "<br />"; echo "Sağdan :" . strlen(rtrim($metin)) . "<br />"; echo "Sol ve Sağdan :" . strlen(trim($metin)) . "<br />"; ?>
substr() String Fonksiyonu
String ifadelerin kısaltılması için kullanılan bir fonksiyondur. Örneğin bir blog sayfası yapıyorsunuz ve anasayfanızda yazıların sadece belirli göstermek ve devamını oku butonu yerleştirmek istiyorsunuz. Bu durumda substr işinizi görecektir. Aşağıdaki örnekten incelediğimizde lorem ipsum dan aldığımız oldukça uzun bir paragrafın sadece 50 karakterlik kısmını görünür yaptık.
<?php $paragraf = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In condimentum eleifend dui et consectetur. Integer congue sapien vitae diam iaculis, id tincidunt orci vulputate. Ut et ex consectetur eros blandit tempor nec ac metus. Mauris commodo, risus sit amet ultrices laoreet, lorem libero condimentum lacus, vitae ornare ante tortor efficitur purus. Integer eget tellus vulputate, interdum tortor vitae, condimentum ante."; echo "Paragraf uzunluğu :" . strlen($paragraf) . "<br />"; echo "Yeni Paragraf Uzunluğu :" . strlen(substr($paragraf, "0", "50")) . "<br />"; echo substr($paragraf, "0", "50"); ?>
wordwrap() String Fonksiyonu
String ifadenin belirlenenden fazla uzun olması durumda kullanılır. İçeriğin alandan taşmaması için kullanabiliriz. Aşağıdaki örnekteki metni bir kutu içerisine yazdığımızı varsayalım. Wordwrap ile 30 karakter bir alt satıra geçerek metnin kutudan taşmasını önlemiş olduk.
<?php $ifade = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ut velit mauris. Suspendisse feugiat enim pulvinar bibendum consequat. "; echo wordwrap($ifade, "30", "<br/>"); ?>
substr_count() String Fonksiyonu
Metin içerisinde aradığımız karakterin kaç kez kullanıldığını bulmak için kullan string fonksiyonudur. Bu fonksiyon büyük küçük harfe duyarlıdır. Bu neden ile aşağıdaki örnekte a harfi bize 3 sonucunu verecektir.
<?php $paragraf = "Ali ata bak"; echo substr_count($paragraf, "a"); ?>
strtolower(), strtoupper(), ucfirst(), lcfirst(), ucwords() String Fonksiyonları
Bu fonksiyonlar string ifadelerin içerisindeki harfleri büyük veya küçük yapmak için kullanılır. Örneğin projenizde bir başlık alanı olduğunu varsayalım. Bu başlıktaki kelimelerin sadece ilk harfleri büyük yapmak için kullanabilirsiniz. Tüm harflerini büyük yapmak yada küçük yapmak için kullanılabilirsiniz.
Fonksiyon | Açıklama |
strtolower() | tüm harfleri küçük yapar. |
strtoupper() | TÜM HARFLERİ BÜYÜK YAPAR. |
ucfirst() | Cümledeki ilk kelimenin ilk harfini büyük yapar. |
lcfirst() | cümledeki İlk Kelimenin İlk Harfini Küçük Yapar. Diğerlerini Etkilemez. |
ucwords() | Cümledeki Tüm Kelimelerin Baş Harflerini Büyük Yapar. |
<?php $paragraf = "Ali ata bak"; $paragraf2 = "ali ata bak"; echo strtolower($paragraf) . "<br />"; //ali ata bak echo strtoupper($paragraf) . "<br />"; //ALI ATA BAK echo ucfirst($paragraf2) . "<br />"; // Ali ata bak echo lcfirst($paragraf) . "<br />"; // ali ata bak echo ucwords($paragraf) . "<br />"; // Ali Ata Bak ?>
explode(), implode() Fonksiyonları
Metin işlemlerinde belki en sık başvuracağınız fonksiyonlardır. explode ve implode fonksiyonları dizi fonksiyonlarıdır. Implode fonksiyonu gönderilen dizi elemanlarını belirtilen ayraç ile birleştirerek bir metin elde etmemizi sağlar ama explode fonksiyonu implode fonksiyonun tam tersi çalışarak gönderilen veriyi belirtilen ayraç ile ayırıp bir dizi olarak geri döndürür. Diziler hakkında bilgi almak için Php Dizi (Array) Nedir? Php Dizi Nasıl Kullanılır? başlıklı yazıma göz atabilirsiniz.
<?php $metin = 'Lor,em ips,um dolo,r s,it am,et'; $sonuc = explode (',',$metin); print_r($sonuc); // Array ( [0] => Lor [1] => em ips [2] => um dolo [3] => r s [4] => it am [5] => et ) ?>
Yukarıdaki explode örneğimizde metin değişkenin değerini virgüllerden ayırıp bir dizi oluşturmuştur. Virgül yerine boşluk kullanırsak bu sefer boşluklardan ayırıp bir dizi oluşturacaktır. Ama virgül veya boşluk yerine ayraç olarak nokta kullansaydık metin değişkenin değeri olduğu gibi tek bir eleman olacaktır.
Aşağıdaki implode örneğimizde ise veriyi dizi olarak göndermemiz gerekiyor. Çünkü implode dizi olarak gönderilen veriyi belirtilen ayraç ile birleştirerek bütün bir hale getirir. Fonksiyona gönderdiğimiz diziyi virgül ile birleştir. Virgül yerine ihtiyacınıza uygun herhangi bir karakter kullanılabilir.
<?php $dizi = ['Lorem', 'ipsum','dolor','sit','amet']; $sonuc = implode (',',$dizi); print_r($sonuc); //Lorem,ipsum,dolor,sit,amet ?>
str_replace() Fonksiyonu
Replace kelimesinden de anlayacağınız üzere değiştirmekten bahsetmektedir. Bu fonksiyon 3 parametre almaktadır. İlk parametre değiştirmek istediğimiz değeri, ikinci parametre ne ile değiştirmek istediğimizi, üçüncü parametremiz ise fonksiyona göndereceğimiz veriyi temsil etmektedir.
<?php $metin = 'Ali ata bak'; echo str_replace('Ali', 'Hasan', $metin); // Hasan ata bak ?>
Yukarıdaki örneğimizde en basit haliyle metin değişkeni içerisindeki Ali ismini Hasan ile değiştirdik.
strrev() Fonksiyonu
String ifadeleri ters çevirmek için kullanılan fonksiyondur.
<?php $metin = 'Ali ata bak'; echo strrev($metin); // kab ata ilA ?>
htmlentities(), strip_tags(), addslashes() Fonksiyonları
Bu fonksiyonlar formlar aracılığı ile kullanıcıdan veri alırken güvenlik amacı ile kullanılabilir ama basit önlemlerdir.
Fonksiyon | Açıklama |
htmlentities() | Html etiketleri etkisizleştirmek için kullanılır. |
strip_tags() | Html etiketleri ayıklamak için kullanılır. |
addslashes() | Tırnakları etkisizleştirmek için kullanılır. Tırnakların etkisizleştirilmesi için ters taksim ( \ )koyulur. |
<?php $ifade1 = "<strong>Ali ata bak.</strong>"; $ifade2 = "Ali'nin arabası mavi."; echo htmlentities($ifade1) . "<br />"; echo strip_tags($ifade1) . "<br />"; echo addslashes($ifade2) . "<br />"; ?>
Örneğimizi incelediğimizde birinci ifade içerisinde strong etiketini kullandık normalde tüm harflerin kalın olması gerekir ama htmlentities fonsiyonundan geçirdiğimiz için strong etiketi işlemini yitirdi. Çünkü htmlentities fonksiyonu html etiketlerini etkisiz hale getirmektedir ama kaldırmamaktadır.
Birinci ifademizi strip_tags fonksiyonumuz ile kullandığımızda ise ifadenin yine kalın harfli olmadığını ama strong etiketlerinin temizlendiğini görebilirsiniz. Çünkü strip_tags html etiketlerini temizlemektedir.
İkinci ifademizde ise addslashes fonksiyonunu kullandık. Bu fonksiyon tırnak karakterlerini etkisiz hale getirmektedir.