202 of 410 menu

ฟังก์ชัน preg_filter

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

ไวยากรณ์

preg_filter(pattern, replacement, subject, [limit = -1], [count]);

ตัวอย่าง

มาแทนที่ตัวเลขทั้งหมดในสตริงด้วยอักขระ 'X':

<?php $res = preg_filter('/\d/', 'X', 'a1b2c3'); var_dump($res); ?>

ผลลัพธ์จากการเรียกใช้โค้ด:

'aXbXcX'

ตัวอย่าง

มาประมวลผลอาร์เรย์ของสตริง โดยแทนที่ตัวเลขด้วย '#':

<?php $res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']); var_dump($res); ?>

ผลลัพธ์จากการเรียกใช้โค้ด:

['a#', 'b#', 'd#']

ตัวอย่าง

มาแสดงความแตกต่างจาก preg_replace:

<?php $input = ['a1', 'b2', 'c', 'd4']; $res_filter = preg_filter('/\d/', '#', $input); $res_replace = preg_replace('/\d/', '#', $input); echo "Filter result: "; var_dump($res_filter); echo "Replace result: "; var_dump($res_replace); ?>

ผลลัพธ์จากการเรียกใช้โค้ด:

Filter result: ['a#', 'b#', 'd#'] Replace result: ['a#', 'b#', 'c', 'd#']

ดูเพิ่มเติม

  • ฟังก์ชัน preg_replace,
    ซึ่งทำการแทนที่ด้วยนิพจน์ปกติ
  • ฟังก์ชัน preg_match,
    ซึ่งตรวจสอบการจับคู่นิพจน์ปกติ
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ