ფუნქცია preg_replace_callback

ფუნქცია preg_replace_callback ახორციელებს ძიებას რეგულარული გამოსახულების მიხედვით და ჩანაცვლებას callback-ფუნქციის გამოყენებით. პირველ პარამეტრად იღებს რეგულარულ გამოსახულებას, მეორედ - callback-ფუნქციას, ხოლო მესამედ - სტრიქონს დასამუშავებლად. Callback-ფუნქცია იღებს შესატყვისების მასივს და უნდა დააბრუნოს ჩანაცვლების სტრიქონი.

სინტაქსი

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

მაგალითი

ჩავანაცვლოთ ყველა რიცხვი სტრიქონში მათი კვადრატებით:

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

კოდის შესრულების შედეგი:

php'Numbers: 4, 16, 36'

მაგალითი

გადავაქციოთ ყველა სიტყვა ზედა რეგისტრში:

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

კოდის შესრულების შედეგი:

php'HELLO WORLD'

მაგალითი

დავამატოთ ფრჩხილები ყველა რიცხვის გარშემო:

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

კოდის შესრულების შედეგი:

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

იხილეთ აგრეთვე

  • ფუნქციას preg_replace,
    რომელიც ახორციელებს ჩანაცვლებას რეგულარული გამოსახულების მიხედვით
  • ფუნქციას preg_match,
    რომელიც ახორციელებს ძიებას რეგულარული გამოსახულების მიხედვით