ฟังก์ชัน preg_replace_callback ทำการค้นหาด้วยนิพจน์ทั่วไปและแทนที่ด้วยการโทรกลับ
ผสม preg_replace_callback ( ผสม $pattern , เรียก $callback , ผสม $subject [, int $limit = -1 [, int &$count ]] )
ลักษณะการทำงานของฟังก์ชันนี้เทียบเท่ากับ preg_replace() ยกเว้นว่าคุณสามารถระบุการโทรกลับแทนการแทนที่เพื่อคำนวณสตริงการแทนที่ได้
คำอธิบายพารามิเตอร์:
$pattern: รูปแบบที่จะค้นหา ซึ่งอาจเป็นสตริงหรืออาร์เรย์ของสตริงก็ได้
$callback: ฟังก์ชั่นการโทรกลับที่ถูกเรียกทุกครั้งที่จำเป็นต้องเปลี่ยน พารามิเตอร์ที่ได้รับจากฟังก์ชันเมื่อถูกเรียกคือผลลัพธ์ที่ตรงกันจากหัวเรื่อง
$subject: สตริงเป้าหมายหรืออาร์เรย์สตริงที่จะค้นหาและแทนที่
$limit: ตัวเลือก จำนวนการแทนที่สูงสุดสำหรับแต่ละสตริงเรื่องต่อรูปแบบ ค่าเริ่มต้นคือ -1 (ไม่จำกัด)
$count: ไม่บังคับ คือจำนวนครั้งที่ดำเนินการทดแทน
ถ้า subject เป็นอาร์เรย์ preg_replace_callback() จะส่งกลับอาร์เรย์ มิฉะนั้นจะส่งกลับสตริง ส่งคืนค่า NULL เมื่อเกิดข้อผิดพลาด
หากพบรายการที่ตรงกัน สตริงเป้าหมายที่ถูกแทนที่ (หรืออาร์เรย์สตริง) จะถูกส่งกลับ มิฉะนั้น หัวเรื่องจะถูกส่งกลับโดยไม่มีการเปลี่ยนแปลง
ผลการดำเนินการเป็นดังนี้:
วันเอพริลฟูลส์คือ 04/01/2546 คริสต์มาสครั้งสุดท้ายคือ 12/24/2545