Keling oldimizga oddiyroq bitta masalani qo'yaylik.
1-misol: Qatordagi raqamlarni ajaratib olaylik masalasini qo'ysak.
Bizga quyidagi qator berilgan.
$str = "Salom 123dunyo777."Keling shu qatordagi raqamlarni qirqib oladigan PHP kod yozaylik.
$match = array();preg_match_all("/\d+/", $str, $match);var_dump($match);Natija:
array(1) {
[0]=>
array(2) {
[0]=> string(3) "123"
[1]=> string(3) "777"
}
}Huddi shunga o'xshab, shu sonlarni boshqa bir qatorga o'zgaritirsh lozim bo'lib qolsa!
$str = preg_replace("/\d+/", "Yangi qator", $str)Ko'rib turganingizdek oldingi darslardan chetlashmagan holda, faqat boshqa funksiyalardan foydalandik. Keling yana bir oddiyroq misol ko'raylik.
2-misol. Barcha HTML teglarini ajratib olish lozim bo'lsin.
$str = "<b>Bold</b><i>Italictext</i>"
$match = array();
preg_match_all("/(\<[^>]+\>)/", $str, $match);
print_r($match);
Natija:
Array
(
[0] => Array
(
[0] => <b>
[1] => </b>
[2] => <i>
[3] => <span>
[4] => </span>
[5] => </i>
)
[tags] => Array
(
[0] => <b>
[1] => </b>
[2] => <i>
[3] => <span>
[4] => </span>
[5] => </i>
)
[1] => Array
(
[0] => <b>
[1] => </b>
[2] => <i>
[3] => <span>
[4] => </span>
[5] => </i>
)
)Ushbu misolda yana bir qo'shimcha qo'shdik. (?<tags>...) - guruhlashlarda, shu guruhga tegishli bo'lgan natijalarni son (index) ko'rinishida emas, boshqacha nom bilan atashga imkin beradi. Agar ?<tags> ni yozmasak, natijadagi tags indeksli natija yo'qoladi.
Shuning bilan bu darsimiz ham oxiriga yetdi.
Комментариев нет:
Отправить комментарий