ฟังก์ชัน preg_split
ฟังก์ชัน preg_split แยกสตริงออกเป็นองค์ประกอบอาร์เรย์โดยใช้นิพจน์ปกติเพื่อค้นหาตัวแบ่ง รับพารามิเตอร์แรกคือนิพจน์ปกติ พารามิเตอร์ที่สองคือสตริงต้นฉบับ พารามิเตอร์ตัวเลือกที่สามกำหนดจำนวนองค์ประกอบอาร์เรย์ในผลลัพธ์สุดท้าย พารามิเตอร์ตัวเลือกที่สี่กำหนด
แฟล็กซึ่งเปลี่ยนพฤติกรรมของฟังก์ชัน
ไวยากรณ์
preg_split(pattern, subject, [limit], [flags]);
แฟล็ก
| แฟล็ก | ค่าคงที่ | คำอธิบาย |
|---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | ส่งคืนเฉพาะส่วนที่ไม่ว่างเปล่าหลังจากการแบ่ง |
PREG_SPLIT_DELIM_CAPTURE |
2 | จับและส่งคืนส่วนที่ตรงกับซับแพทเทิร์นในนิพจน์ปกติ |
PREG_SPLIT_OFFSET_CAPTURE |
4 | สำหรับแต่ละส่วนที่ส่งคืน เพิ่มตำแหน่งของส่วนนั้นในสตริงต้นฉบับ |
ตัวอย่าง
แยกสตริงด้วยเครื่องหมายจุลภาค:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
['a', 'b', 'c', 'd', 'e']
ตัวอย่าง
แยกสตริงด้วยอักขระเว้นวรรคใดๆ พร้อมกำหนดขีดจำกัดจำนวนองค์ประกอบ:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
['1', '2', '3 4 5']
ตัวอย่าง
การใช้แฟล็ก PREG_SPLIT_NO_EMPTY เพื่อไม่รวมองค์ประกอบที่ว่างเปล่า:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
['a', 'b', 'c', 'd']
ดูเพิ่มเติม
-
preg_match,
ซึ่งทำการค้นหาด้วยนิพจน์ปกติ -
explode,
ซึ่งแยกสตริงด้วยตัวแบ่งแบบง่าย