Funktsiya preg_replace_callback

preg_replace_callback funktsiyasi regular ifoda orqali qidiruv va almashtirishni callback-funktsiyasidan foydalangan holda bajaradi. Birinchi parametr sifatida regular ifodani, ikkinchi parametr sifatida callback-funktsiyasini, uchinchi parametr sifatida esa qayta ishlanadigan satrni qabul qiladi. Callback-funktsiyasi mosliklar massivini oladi va almashtirish satrini qaytarishi kerak.

Sintaksis

phppreg_replace_callback(pattern, callback, subject, [limit], [count]);

Misol

Satrdagi barcha raqamlarni ularning kvadratlari bilan almashtiramiz:

php<?php
  $str = 'Raqamlar: 2, 4, 6';
  $res = preg_replace_callback('/\d+/', function($matches) {
    return $matches[0] * $matches[0];
  }, $str);
  echo $res;
?>

Kodni bajarish natijasi:

php'Raqamlar: 4, 16, 36'

Misol

Barcha so'zlarni bosh harfga o'zgartiramiz:

php<?php
  $str = 'salom dunyo';
  $res = preg_replace_callback('/\b\w+\b/', function($matches) {
    return strtoupper($matches[0]);
  }, $str);
  echo $res;
?>

Kodni bajarish natijasi:

php'SALOM DUNYO'

Misol

Har bir raqam atrofida qavslarni qo'shamiz:

php<?php
  $str = '1 2 3 4 5';
  $res = preg_replace_callback('/\d+/', function($matches) {
    return '('.$matches[0].')';
  }, $str);
  echo $res;
?>

Kodni bajarish natijasi:

php'(1) (2) (3) (4) (5)'

Shuningdek qarang

  • preg_replace funktsiyasini,
    regular ifoda orqali almashtirishni bajaradi
  • preg_match funktsiyasini,
    regular ifoda orqali qidiruvni bajaradi