ฟังก์ชัน preg_filter ใช้เพื่อค้นหาและแทนที่นิพจน์ทั่วไป
ผสม preg_filter ( ผสม $pattern , ผสม $replacement , ผสม $subject [, int $limit = -1 [, int &$count ]] )
preg_filter() เทียบเท่ากับ preg_replace() แต่จะส่งคืนผลลัพธ์ที่ตรงกับเป้าหมายเท่านั้น
คำอธิบายพารามิเตอร์:
$pattern: รูปแบบที่ต้องการค้นหา อาจเป็นสตริงหรืออาร์เรย์ของสตริงก็ได้
$replacement: สตริงหรืออาร์เรย์ของสตริงที่ใช้สำหรับการแทนที่
$subject: สตริงหรืออาร์เรย์ของสตริงที่จะค้นหาและแทนที่
$limit: ตัวเลือกเสริม คือจำนวนการแทนที่สูงสุดต่อรูปแบบในแต่ละเรื่อง ค่าเริ่มต้นคือ -1 (ไม่จำกัด)
$count: ไม่บังคับ จำนวนการเปลี่ยนที่เสร็จสมบูรณ์
ผลการดำเนินการเป็นดังนี้:
ค่าส่งคืน preg_filter: Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4)preg_replace คืนค่า: Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B: ข [4] => A:3 [5] => A [6] => B [7] => A:4)
จะเห็นได้ว่า preg_filter ส่งคืนผลลัพธ์ที่ตรงกันเท่านั้น และผลลัพธ์ที่ไม่ตรงกันจะถูกละเว้นโดยตรง ในขณะที่ preg_replace ยังส่งคืนองค์ประกอบ 'A' และ 'B' ของผลลัพธ์ที่ไม่ตรงกันพร้อมกันด้วย