Computer >> Máy Tính >  >> Lập trình >> PHP

Preg_replace_callback_array () trong PHP 7


Hàm Preg_replace_callback_array () trong PHP 7 đại diện cho một biểu thức chính quy và thay thế việc sử dụng các lệnh gọi lại. Hàm này trả về một chuỗi hoặc một mảng các chuỗi để khớp với một tập hợp các biểu thức chính quy và thay thế chúng bằng cách sử dụng hàm gọi lại.

Cú pháp

preg_replace_callback_array(patterns, input, limit, count)

Giá trị tham số:

  • mẫu - Nó yêu cầu một mảng liên kết để liên kết các mẫu biểu thức chính quy với các hàm gọi lại.
  • đầu vào / chủ đề - Nó yêu cầu một mảng chuỗi để thực hiện thay thế.
  • giới hạn - Nó là tùy chọn. -1 được sử dụng cho mặc định, có nghĩa là nó không giới hạn. Nó đặt ra giới hạn về số lượng thay thế có thể được thực hiện trong mỗi chuỗi.
  • tính - Nó cũng là tùy chọn như giới hạn. Biến này sẽ chứa một số, cho biết có bao nhiêu thay thế được thực hiện sau khi hàm được thực thi.
  • cờ - Nó có thể là sự kết hợp của các cờ preg_offset_captureandpreg_unmatch_as_null, điều này sẽ ảnh hưởng đến định dạng của mảng phù hợp.
  • Giá trị Trả lại - Preg_replace_callback_array () trả về một chuỗi hoặc một mảng chuỗi, nếu phát hiện ra lỗi thì nó sẽ trả về giá trị null, nếu tìm thấy kết quả phù hợp, chủ đề mới sẽ được trả về, ngược lại, chủ đề sẽ được trả về không thay đổi.

Preg_replace_callback_array ():Ví dụ

<html>
<head>
<title> PHP 7 Featuretutorialpoint:</title>
</head>
<body>
<?php
   $subject = 'AaaaaaaBbbbCccc';
   preg_replace_callback_array (
      [
         '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' number of "a" found', PHP_EOL;
         },
         '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' number of "b" found', PHP_EOL;
         },
         '~[c]+~i' => function ($match) {
            echo strlen($match[0]), ' number of "c" found', PHP_EOL;
         }
      ],
      $subject
   );
?>
</body>
</html>

Đầu ra

Đầu ra cho mã chương trình trên là -

7 number of "a" found
4 number of "b" found
5 number of "c" found