ฟังก์ชัน preg_match_all ใช้เพื่อดำเนินการจับคู่นิพจน์ทั่วไปทั่วโลก
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
ค้นหาหัวเรื่องสำหรับรูปแบบการจับคู่ผลลัพธ์ที่ตรงกันทั้งหมดด้วยนิพจน์ทั่วไปที่กำหนด และส่งออกให้ตรงกันตามลำดับที่ระบุโดยแฟล็ก
หลังจากพบรายการที่ตรงกันแรกแล้ว การค้นหาลำดับรองจะดำเนินต่อไปจากตำแหน่งที่ตรงกันล่าสุด
คำอธิบายพารามิเตอร์:
$pattern: รูปแบบที่จะค้นหา ในรูปแบบสตริง
$ subject: สตริงอินพุต.
$matches: อาร์เรย์หลายมิติ ส่งออกผลลัพธ์ที่ตรงกันทั้งหมดเป็นพารามิเตอร์เอาต์พุต การเรียงลำดับอาร์เรย์จะถูกระบุโดยแฟล็ก
$flags: สามารถใช้ร่วมกับแท็กต่อไปนี้ได้ (โปรดทราบว่า PREG_PATTERN_ORDER และ PREG_SET_ORDER ไม่สามารถใช้พร้อมกันได้):
PREG_PATTERN_ORDER: ผลลัพธ์จะถูกจัดเรียงเป็น $matches[0] เก็บการแข่งขันทั้งหมดของรูปแบบที่สมบูรณ์ $matches[1] เก็บการแข่งขันทั้งหมดของกลุ่มย่อยแรก และอื่นๆ
PREG_SET_ORDER: ผลลัพธ์จะถูกจัดเรียงเป็น $matches[0] มีรายการที่ตรงกันทั้งหมด (รวมถึงกลุ่มย่อย) ที่ได้รับจากการจับคู่ครั้งแรก $matches[1] เป็นอาร์เรย์ที่มีการจับคู่ทั้งหมด (รวมถึงกลุ่มย่อย) ที่ได้รับจากการจับคู่ครั้งที่สอง ดังนั้นการเปรียบเทียบนั้น
PREG_OFFSET_CAPTURE: หากผ่านแฟล็กนี้ แต่ละการจับคู่ที่พบจะถูกส่งกลับพร้อมกับออฟเซ็ตที่สัมพันธ์กับสตริงเป้าหมายที่เพิ่มขึ้น
offset: โดยปกติแล้ว การค้นหาจะเริ่มจากจุดเริ่มต้นของสตริงเป้าหมาย อ็อฟเซ็ตพารามิเตอร์เผื่อเลือกใช้เพื่อเริ่มการค้นหาจากตำแหน่งที่ระบุในสตริงเป้าหมาย (หน่วยเป็นไบต์)
ส่งกลับจำนวนรายการที่ตรงกันทั้งหมด (อาจเป็น 0) หรือส่งกลับ FALSE หากมีข้อผิดพลาดเกิดขึ้น
ผลการดำเนินการเป็นดังนี้:
อาร์เรย์( [0] => <b>PHP</b> [1] => <b>ภาษาการเขียนโปรแกรม</b>)
ผลการดำเนินการเป็นดังนี้:
ตรงกัน: <b>ข้อความตัวหนา</b>ส่วนที่ 1: <b>ส่วนที่ 2: bส่วนที่ 3: ข้อความตัวหนา ส่วนที่ 4: </b>ตรงกัน: <a href=howdy.html>คลิกฉัน</a>ส่วนที่ 1: <a href=howdy.html>ส่วนที่ 2: แยก 3: คลิกฉันส่วนที่ 4: </a>