PHPda muntazam ifodalarga kirish
Muntazam ifodalar - bu murakkab qidiruv va almashtirish uchun bo‘lgan buyruqlar. Ular juda qiziqarli ishlarni qilishga imkon beradi, ammo, afsuski, o‘zlashtirish uchun biroz og‘ir.
PHPda muntazam ifodalar bilan ishlash uchun bir nechta funksiyalar
mavjud. Biz ular bilan preg_replace misolida tanishamiz.
Ushbu funksiya birinchi parametr sifatida nima almashtirish,
ikkinchi parametr sifatida - nima bilan almashtirish,
uchinchi parametr sifatida esa - qaysi satrda almashtirish
kerakligini qabul qiladi:
<?php
preg_replace(nima almashtirish, nima bilan, satr);
?>
Bunda birinchi parametr sifatida funksiyamiz oddiy satrni emas,
balki panjara belgilari # ichida joylashgan buyruqlar
to‘plamini ifodalovchi muntazam ifoda ni qabul qiladi.
Ushbu panjaralar muntazam ifodalarning chegarlovchilari
deyiladi.
Chegarlovchilardan keyin modifikatorlar yozish mumkin - bu muntazam ifodaning umumiy xususiyatlarini o‘zgartiradigan buyruqlar.
Muntazam ifodalar o‘zlarini o‘zi ifodalovchi belgilardan va maxsus belgilar deyiladigan buyruq belgilaridan iborat.
Harflar va raqamlar o‘zlarini ifodalaydi. Quyidagi
misolda biz muntazam ifoda yordamida
'a' harfini '!' ga alastiramiz:
<?php
preg_replace('#a#', '!', 'bab'); // 'b!b' ni qaytaradi
?>
Ammo nuqta maxsus belgi hisoblanadi
va har qanday belgi ni ifodalaydi. Quyidagi
misolda biz shunday andoza bo‘yicha satrni topamiz:
'x' harfi, keyin har qanday belgi, keyin
yana 'x' harfi:
<?php
preg_replace('#x.x#', '!', 'xax eee'); // '! eee' ni qaytaradi
?>
Berilgan satr:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
'ahb', 'acb', 'aeb'
satrlarini topadigan muntazam ifodani yozing:
andoza: 'a' harfi, har qanday belgi,
'b' harfi.
Berilgan satr:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
'aeeb', 'adcb', 'axeb'
satrlarini topadigan muntazam ifodani yozing:
andoza: 'a' harfi, ikkita har qanday
belgi, 'b' harfi.