ฟังก์ชัน 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