preg_match_all()

PHP preg_match_all() funksiyasi

❮ PHP RegEx ma’lumotnomasi

Misol

Stringdagi barcha "ain" birikmalarini toping:

<?php $str = "The rain in SPAIN falls mainly on the plains."; $pattern = "/ain/i"; if(preg_match_all($pattern, $str, $matches)) {   print_r($matches); } ?>
O‘zingiz sinab ko‘ring »

ULASHISH

Ta’rif va qo‘llanilishi

preg_match_all() funksiyasi stringda topilgan naqsh mosliklari sonini qaytaradi va topilgan mosliklarni o‘zgaruvchiga yozadi.


Sintaksis

preg_match_all(pattern, input, matches, flags, offset)

Parametr qiymatlari

Parametr Tavsif
pattern Majburiy. Nima qidirilishini ko‘rsatuvchi muntazam ifodani o‘z ichiga oladi
input Majburiy. Qidiruv bajariladigan string
matches Ixtiyoriy. Bu parametrda ishlatilgan o‘zgaruvchi topilgan barcha mosliklardan iborat massiv bilan to‘ldiriladi
flags Ixtiyoriy. matches massivi qanday tuzilishini o‘zgartiradigan sozlamalar to‘plami.

Quyidagi tuzilmalardan birini tanlash mumkin:
  • PREG_PATTERN_ORDER - Standart. matches massivining har bir elementi muntazam ifodadagi bitta guruhga tegishli mosliklar massividir: 0-indeks butun ifodaning mosliklariga, qolgan indekslar esa ichki naqsh mosliklariga mos keladi.
  • PREG_SET_ORDER - matches massivining har bir elementi stringda topilgan mosliklardan biri uchun barcha guruhlarning mosliklarini o‘z ichiga oladi.
Quyidagi sozlamalardan istalgan sonini qo‘llash mumkin:
  • PREG_OFFSET_CAPTURE - Bu sozlama yoqilganda har bir moslik string emas, balki massiv bo‘ladi: uning birinchi elementi moslikni o‘z ichiga olgan qism string, ikkinchi elementi esa shu qism string birinchi belgisining kirish stringidagi o‘rni bo‘ladi.
  • PREG_UNMATCHED_AS_NULL - Bu sozlama yoqilganda mos kelmagan ichki naqshlar (subpattern) bo‘sh string o‘rniga NULL sifatida qaytariladi.
offset Ixtiyoriy. Standart qiymati 0. Qidiruv stringning qaysi o‘rnidan boshlanishini ko‘rsatadi. preg_match() funksiyasi bu parametrda berilgan o‘rindan oldin uchraydigan mosliklarni topmaydi

Texnik tafsilotlar

Qaytariladigan qiymat: Topilgan mosliklar sonini, xato yuz bersa false qaytaradi
PHP versiyasi: 4+
O‘zgarishlar tarixi: PHP 7.2 - PREG_UNMATCHED_AS_NULL bayrog‘i qo‘shildi

PHP 5.4 - matches parametri ixtiyoriy bo‘ldi

PHP 5.3.6 - offset kirish qiymati uzunligidan katta bo‘lsa, funksiya false qaytaradi

PHP 5.2.2 - Nomlangan ichki naqshlarda avvalgi (?P<name>) sintaksisidan tashqari (?'name') va (? <name>) sintaksisidan ham foydalanish mumkin

Ko‘proq misollar

Misol

PREG_PATTERN_ORDER bayrog‘i yordamida matches massivining tuzilishini belgilang. Bu misolda matches massivining har bir elementi muntazam ifodadagi guruhlardan biriga tegishli barcha mosliklarni o‘z ichiga oladi.

<?php $str = "abc ABC"; $pattern = "/((a)b)(c)/i"; if(preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER)) {   print_r($matches); } ?>
O‘zingiz sinab ko‘ring »

❮ PHP RegEx ma’lumotnomasi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!