199 of 410 menu

ฟังก์ชัน preg_match

ฟังก์ชัน preg_match ค้นหาตัวที่ตรงกับนิพจน์ทั่วไปในสตริง พารามิเตอร์แรกรับรูปแบบของนิพจน์ทั่วไป พารามิเตอร์ที่สองรับสตริงสำหรับค้นหา พารามิเตอร์ที่สาม (ไม่บังคับ) - อาร์เรย์สำหรับบันทึกตัวที่ตรงกันที่พบ พารามิเตอร์ที่สี่ (ไม่บังคับ) - แฟล็ก พารามิเตอร์ที่ห้า (ไม่บังคับ) - ออฟเซ็ตเริ่มต้นการค้นหา

ไวยากรณ์

preg_match(pattern, subject, [matches], [flags], [offset]);

แฟล็ก

แฟล็ก ค่าคงที่ คำอธิบาย
PREG_PATTERN_ORDER 1 เรียงลำดับผลลัพธ์ตามรูปแบบ (ค่าเริ่มต้น)
PREG_SET_ORDER 2 เรียงลำดับผลลัพธ์ตามชุดตัวที่ตรงกัน
PREG_OFFSET_CAPTURE 256 ส่งคืนตำแหน่งของตัวที่ตรงกันในสตริง
PREG_UNMATCHED_AS_NULL 512 ส่งคืนซับแพตเทิร์นที่ไม่ตรงกันเป็น NULL

ตัวอย่าง

ตรวจสอบว่าสตริงมีตัวเลขหรือไม่:

<?php $res = preg_match('/\d+/', 'abc123'); echo $res; ?>

ผลลัพธ์จากการรันโค้ด:

1

ตัวอย่าง

ดึงตัวเลขทั้งหมดจากสตริงลงในอาร์เรย์:

<?php preg_match('/\d+/', 'abc123', $matches); var_dump($matches); ?>

ผลลัพธ์จากการรันโค้ด:

[0 => '123']

ตัวอย่าง

การใช้กลุ่มที่มีชื่อในนิพจน์ทั่วไป:

<?php preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches); var_dump($matches); ?>

ผลลัพธ์จากการรันโค้ด:

[ 0 => 'John 25', 'name' => 'John', 1 => 'John', 'age' => '25', 2 => '25' ]

ตัวอย่าง

การใช้แฟล็ก PREG_OFFSET_CAPTURE เพื่อรับตำแหน่งของตัวที่ตรงกัน:

<?php preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE); var_dump($matches); ?>

ผลลัพธ์จากการรันโค้ด:

[ 0 => [ 0 => '123', 1 => 3 ] ]

ตัวอย่าง

การค้นหาพร้อมระบุออฟเซ็ต (offset):

<?php preg_match('/\d+/', '123abc456', $matches, 0, 3); var_dump($matches); ?>

ผลลัพธ์จากการรันโค้ด:

[0 => '456']

ตัวอย่าง

ตรวจสอบความถูกต้องของที่อยู่อีเมล:

<?php $email = 'test@example.com'; $res = preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email); echo $res ? 'Valid' : 'Invalid'; ?>

ผลลัพธ์จากการรันโค้ด:

'Valid'

ดูเพิ่มเติม

  • ฟังก์ชัน preg_match_all,
    ซึ่งค้นหาตัวที่ตรงกันทั้งหมดในสตริง
  • ฟังก์ชัน preg_replace,
    ซึ่งดำเนินการแทนที่ตามนิพจน์ทั่วไป
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ