Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

Preg_replace_callback_array() ใน PHP 7


ฟังก์ชัน Preg_replace_callback_array() ใน PHP 7 แสดงถึงนิพจน์ทั่วไปและแทนที่การใช้การเรียกกลับ ฟังก์ชันนี้ส่งคืนสตริงหรืออาร์เรย์ของสตริงเพื่อให้ตรงกับชุดของนิพจน์ทั่วไปและแทนที่โดยใช้ฟังก์ชันเรียกกลับ

ไวยากรณ์

preg_replace_callback_array(patterns, input, limit, count)

ค่าพารามิเตอร์:

  • รูปแบบ − ต้องใช้อาร์เรย์เชื่อมโยงเพื่อเชื่อมโยงรูปแบบนิพจน์ทั่วไปกับฟังก์ชันเรียกกลับ
  • อินพุต/หัวเรื่อง - ต้องใช้อาร์เรย์ของสตริงเพื่อทำการแทนที่
  • จำกัด − เป็นทางเลือก -1 ใช้สำหรับค่าเริ่มต้น ซึ่งหมายความว่าไม่จำกัด โดยกำหนดขีดจำกัดจำนวนการแทนที่ในแต่ละสตริงได้
  • นับ − นอกจากนี้ยังเป็นทางเลือกเช่นขีด จำกัด ตัวแปรนี้จะมีตัวเลข ซึ่งระบุจำนวนการแทนที่ที่เกิดขึ้นหลังจากที่ฟังก์ชันได้รับการดำเนินการ
  • ธง − โดยอาจเป็นการรวมกันของแฟล็ก preg_offset_captureandpreg_unmatched_as_null ซึ่งส่งผลต่อรูปแบบของอาร์เรย์ที่ตรงกัน
  • คืนค่า − preg_replace_callback_array() คืนค่าสตริงหรืออาร์เรย์ของสตริง หากพบข้อผิดพลาด จะคืนค่าเป็น null หากพบรายการที่ตรงกัน หัวข้อใหม่จะถูกส่งกลับ มิฉะนั้น หัวข้อจะถูกส่งคืนโดยไม่มีการเปลี่ยนแปลง

Preg_replace_callback_array() :ตัวอย่าง

<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>

ผลลัพธ์

ผลลัพธ์สำหรับรหัสโปรแกรมข้างต้นคือ −

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