preg_replace_callback_array()

PHP preg_replace_callback_array() funksiyasi

❮ PHP RegEx ma’lumotnomasi

Misol

Gapdagi har bir so‘zda nechta harf yoki raqam borligini ko‘rsating:

<?php function countLetters($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'letter]'; } function countDigits($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'digit]'; } $input = "There are 365 days in a year."; $patterns = [   '/\b[a-z]+\b/i' => 'countLetters',   '/\b[0-9]+\b/' => 'countDigits' ]; $result = preg_replace_callback_array($patterns, $input); echo $result; ?>
O‘zingiz sinab ko‘ring »

ULASHISH

Ta’rif va qo‘llanilishi

preg_replace_callback_array() funksiyasi muntazam ifodalar to‘plamining mosliklari callback funksiyasi qaytargan qiymat bilan almashtirilgan string yoki stringlar massivini qaytaradi.

Eslatma: Har bir string uchun funksiya naqshlarni ular berilgan tartibda qo‘llaydi. Birinchi naqshni stringga qo‘llash natijasi ikkinchi naqsh uchun kirish stringi sifatida ishlatiladi va hokazo. Bu kutilmagan natijalarga olib kelishi mumkin.


Sintaksis

preg_replace_callback_array(patterns, input, limit, count)

Parametr qiymatlari

Parametr Tavsif
pattern Majburiy. Muntazam ifoda naqshlarini callback funksiyalariga bog‘laydigan assotsiativ massiv.

Callback funksiyalari bitta parametrga ega — mosliklar massivi. Massivning birinchi elementida butun ifodaning mosligi, qolgan elementlarida esa ifodadagi har bir guruhning mosliklari bo‘ladi.
input Majburiy. Almashtirishlar bajariladigan string yoki stringlar massivi
limit Ixtiyoriy. Standart qiymati -1, ya’ni cheklanmagan. Har bir stringda nechta almashtirish bajarilishi mumkinligini cheklaydi
count Ixtiyoriy. Funksiya bajarilgandan so‘ng bu o‘zgaruvchida nechta almashtirish bajarilganini ko‘rsatuvchi son bo‘ladi

Texnik tafsilotlar

Qaytariladigan qiymat: Kirish stringi yoki stringlariga almashtirishlarni qo‘llash natijasida hosil bo‘lgan string yoki stringlar massivini qaytaradi
PHP versiyasi: 7+

Ko‘proq misollar

Misol

Bu misol naqshlarning ketma-ket qo‘llanishi kutilmagan natijalarga olib kelishi mumkinligini ko‘rsatadi. Avval countLetters almashtiruvi "days" so‘ziga "[4letter]" qo‘shadi, bu almashtirish bajarilgandan keyin esa countDigits almashtiruvi "4letter" ichidagi "4" ni topib, unga "[1digit]" qo‘shadi:

<?php function countLetters($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'letter]'; } function countDigits($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'digit]'; } $input = "365 days"; $patterns = [   '/[a-z]+/i' => 'countLetters',   '/[0-9]+/' => 'countDigits' ]; $result = preg_replace_callback_array($patterns, $input); echo $result; ?>
O‘zingiz sinab ko‘ring »

❮ PHP RegEx ma’lumotnomasi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!