Php ile Düzenli ifadeler -3

Köşeli parantezlerden [] hariç ayrıca düzenli ifadelerde () normal parantezlerde kullanılmaktadır. Parantez İşaretlerini gruplama yaparken kullanırız. Şöyle bir örnek vermek gerekirse.


<?php
$desen = "(cumar|pazar)tesi";
$cumle = "bugün pazartesi";

if(ereg($desen,$cumle)) {
echo "Regular expression (Düzenli ifade) bulundu.";
}else {
echo "Regular expression (Düzenli ifade) bulunamadı.";
}
?>


Gördüğünüz gibi parantez içindeki düzenli ifademizi grupladık. Arama karakter dizimizde başı cumar veya pazar olan ve sonu tesi ile eşlenen kriterler bulduğunda bu örnek kod parçacığı TRUE dönecektir.

Parantezler hakkında bir iki örnek daha verelim.


<?php
$desen = "web(co)*dez"; // * kendisinden bir önceki karakter sıfır yada
daha fazla olmak zorundaydı
$cumle = "webcodez";

if(ereg($desen,$cumle)) {
echo "Regular expression (Düzenli ifade) bulundu.";
}else {
echo "Regular expression (Düzenli ifade) bulunamadı.";
}

//output webcoodez FALSE, webdez,webcodez, webcocodez TRUE dönecektir.
?>


Nokta karakterini açıklamayı unuttum. Düzenli ifadelerde nokta karakteri herhangibir karakter anlamına gelmektedir. Şimdi bu karakter ile ilgili bir örnek yapalım.


<?php
$desen = "Pa.dus";
$cumle = "Pardus";
if(ereg($desen,$cumle)) {
echo "Regular expression (Düzenli ifade) bulundu.";
}else {
echo "Regular expression (Düzenli ifade) bulunamadı.";
}

// $desen = ".dus"; Patdus,Pavdus,Pa2dus,Pa-dus TRUE döner
Padus,Pa22dus,Pa--dus FALSE dönecektir.
?>


Şimdide Düzenli ifadeler kullanırken en çok kullanılan ereg_replace() ve eregi_replace() fonksiyonlarına bakalım. Bu fonksiyonlar bize arama ve değiştirme yapma imkanı sunarlar. ereg_replace() büyük küçük harf ayrımı yaparken eregi_replace() fonksiyonu büyük küçük harf ayrımı yapmamaktadır. En basitinden bir örnek üzerinde açıklayalım.


<?php
$cumle = "özgürlük için pardus";
$bul = ereg_replace("pardus","PARDUS",$cumle);
echo $bul;
//çıktı özgürlük için PARDUS olacaktır.
?>


Gördüğünüz gibi fonksiyon ilk parametre olarak aranacak değeri alıyor, ikici parametresi ise bulduğu değeri neyle değiştireceğidir ve üçüncü parametresi ise hangi karakter dizisinde arama yapacağıdır.

0 Yorum:

Yorumunuzu belirtebilirsiniz