
Php ile metin işleme fonksiyonlarından biride strlen olarak isimlendirdiğimiz String Length yani metin uzunluğunu veren fonksiyondur. Fonksiyonun
kullanımı için php manuelden ilgili sayfasına girecek olursak Metin
işlem fonksiyonları içerisinde yer aldığını görebiliriz. strlen olarak
isimlendirdiğimiz fonksiyonun yardım sayfasını açtığımızdaParemetre olarak metin ifade aldığını ve ilgili metnin uzunluğunu sayısal olarak dönderdiğini görüyoruz.
Fonksiyonun kullanımında ekstradan herhangi birşey yoktur.
Strlen ismindeki php dosyamızı oluşturdan sonra Php taglarını açıp kapayarak basit olarak abcdef gibi bir ifadeyi yazdıralım
<?php
echo strlen("abcdef");
?>
Sayfamızı browserdan çağırdığımızda 6 değerini yazdırdığını görüyoruz.
Şöyle bir bakıp zaten kaç karakter olduğunu sayarsak yine 6 karakter
olduğunu görüyoruz. İfademizin başına sonuna ve ortasına boşluk
karakteri bırakalım.
<?php
echo strlen(" abc def ");
?>
Ve sayfamızı yenilediğimizde 9 boşluk karakterlerinide aynı şekilde
saydığını görüyoruz. Bunun yanında yeni satır karakteri olan new line
karakterinide eklediğimizde
<?php
echo strlen(" abc \n def ");
?>
Bununda zaten sayıldığını görüyoruz. Burdan anlayacağımız üzere strlen
fonksiyonu karakter sayısını sayarken karakter niteliğindeki herşeyi
sayar Bu anlamda biz enter karakteri gibi yada başındaki sonundaki
boşluklar gibi bu karakterleri kendimiz temizlememiz ve veya temizleme
işlemi yapan fonksiyonlar kullanmamız gerekir
Mesela başındaki ve sonundaki boşlukları temizlemek için veya tüm beyaz
boşlukları temizlemek için trim fonksiyonunu kullanabiliriz gibi
Nihayetinde strlen fonksiyonu ile karakter sayısını sayabiliriz.
Bunun yanında biz strlen fonksiyonu bir nevi dolaylı yoldan
gerçekleştirebiliriz. Mesela elimizde bir metin ifademiz var. $metin
eşittir "deneme" yazdık.
Ve ilk başta echo strlen($metin) diyerek değişkenimizin uzunluğunu görelim
<?php
/*
echo strlen(" abc def ");
*/
$metin = "deneme";
echo strlen($metin);
?>
Altı karakter olduğunu gördük. Formdan post ile kişinin bir metin
ifade gönderdiğini düşünelim Şimdi bunun en az altı karakter olup
olmadığını bu şekidle altıya eşit mi şeklinde bir kontrol yapısı
oluşturabiliriz.
<?php
// echo strlen(" abc \n def ");
$_POST["metin"] = "denemrt";
if(strlen($_POST["metin"]) == 6){
echo 'ilk kontrol tamam';
}
?>
bunun yanında ikinci mantık olarak burdaki metin ifademizi erişmek için
metnin aynı zamanda bir dizi katarı olduğundanda faydalanabiliriz.
echo $_POST["metin"][4] diyelim ve sonucunu görelim.
Yenilediğimizde ilk kontrolün tamam olduğunu ve sonuna fazladan m harfi
yazdırdığını görüyorum. 0-1-2-3-4 olmak üzere Bu durumda beşinci
karakterimizi sıfırdan başladığı için dizimiz burda dördüncü indistir.
Biz buraya beşinci karekteri yazdır dediğimizde ise
<?php
// echo strlen(" abc \n def ");
$_POST["metin"] = "denemrt";
if(strlen($_POST["metin"]) == 6){
echo 'ilk kontrol tamam';
}
echo $_POST["metin"][5];
?>
e karakterini kelimenin sonuna getirdiğini görüyoruz. Bu anlamla biz
ilgili karakterin var olup olmadığını kontrol edersek Yani isset
fonksiyonu kullanırsa aynı zamanda metnin ilgili uzunlukta olup
olmadığını kontrol edebiliriz. bu şekilde echo ikinci kontrol tamam
ifadesini kullanabiliriz.
<?php
// echo strlen(" abc \n def ");
$_POST["metin"] = "denemrt";
if(strlen($_POST["metin"]) >= 6){
echo 'ilk kontrol tamam';
}
if( isset($_POST["metin"][5]) ){
echo 'ikinci kontrol tamam';
}
?>
Evet ikinci kontrolümüzü de geçti Metnimizi kontrolden kaybetmesi için bi harfini silelim ve sayfamızı yenileyelim
$_POST["metin"] = "denem";
ilk kontrolümüzdende başarısız olduğunu görüyoruz.
İkinci kontrolümüz direk eşittir ifadesi için sadece çalışabilir.
Mesela yedi harfli bir kontrolde ikinci kontrolümüzü de geçiyordur. Bu
durumda biz ikinci kontrolümüzde altı üzeri karakterlerinin kontrolünü
gerçekleştirmiş olurken İlk ifademizdede altıdan büyük yada eşit mi
yapısıyla birebir aynı olan iki fonksiyonumuzu bu mantınla
oluşturabiliriz
<?php
// echo strlen(" abc \n def ");
$_POST["metin"] = "denemrt";
if(strlen($_POST["metin"]) >= 6){
echo 'ilk kontrol tamam';
}
if( isset($_POST["metin"][5]) ){
echo 'ikinci kontrol tamam';
}
?>
Böylelikle gerek metnin bir dizinden oluşmasından faydalanarak gerekse strlen fonksiyonunu kullanarak metnin uzunluk kontrolünü gerçekleştirebiliriz.