फ़ंक्शन preg_match_all
फ़ंक्शन preg_match_all एक स्ट्रिंग में पैटर्न की वैश्विक खोज करता है। पहले पैरामीटर में रेगुलर एक्सप्रेशन पास किया जाता है, दूसरे में - खोज के लिए स्ट्रिंग, तीसरे में - परिणामों को सहेजने के लिए ऐरे। चौथा वैकल्पिक पैरामीटर लौटाई गई संरचना के प्रकार को निर्धारित करता है, और पाँचवाँ वैकल्पिक पैरामीटर - खोज की शुरुआत का ऑफ़सेट।
सिंटैक्स
preg_match_all(pattern, subject, matches, [flags], [offset]);
फ्लैग्स
आइए देखें कि चौथा पैरामीटर कौन से मान ले सकता है:
| पैरामीटर | विवरण |
|---|---|
PREG_PATTERN_ORDER |
डिफ़ॉल्ट मोड। परिणाम ग्रुपों (कारमैन) द्वारा समूहीकृत किए जाते हैं - ऐरे का शून्यवाँ एलिमेंट शून्यवाँ ग्रुप (कारमैन) रखता है, पहला एलिमेंट ऐरे पहले ग्रुप (कारमैन) रखता है और इसी तरह आगे। |
PREG_SET_ORDER |
परिणाम मिलानों द्वारा समूहीकृत किए जाते हैं - ऐरे का प्रत्येक एलिमेंट पाए गए ग्रुपों (कारमैन) वाला एक ऐरे रखता है। |
PREG_OFFSET_CAPTURE |
प्रत्येक मिलान के लिए स्ट्रिंग में स्थिति लौटाई जाती है। प्रत्येक परिणाम एक ऐरे को दर्शाता है, जहाँ शून्यवाँ एलिमेंट मिलान रखता है, और पहला - इसका ऑफ़सेट। |
PREG_UNMATCHED_AS_NULL |
बिना मिले ग्रुप (कारमैन) null के रूप में लौटाए जाते हैं, खाली स्ट्रिंग्स के बजाय।
|
उदाहरण
आइए एक स्ट्रिंग में सभी अंक ढूंढते हैं:
<?php
$str = 'abc 123 def 456';
preg_match_all('/\d+/', $str, $res);
var_dump($res[0]);
?>
कोड निष्पादन का परिणाम:
['123', '456']
उदाहरण
आइए एक स्ट्रिंग में सभी अक्षर 'a' ढूंढते हैं:
<?php
$str = 'banana';
preg_match_all('/a/', $str, $res);
var_dump($res[0]);
?>
कोड निष्पादन का परिणाम:
['a', 'a', 'a']
उदाहरण
आइए एक स्ट्रिंग से सभी टाइमस्टैम्प्स और उनके घटक निकालते हैं:
<?php
$time = '12:01:02 13:03:04 14:05:06';
preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res);
var_dump($res);
?>
कोड निष्पादन का परिणाम:
[
0 => ['12:01:02', '13:03:04', '14:05:06'],
1 => ['12', '13', '14'],
2 => ['01', '03', '05'],
3 => ['02', '04', '06']
]
उदाहरण
और अब मिलानों द्वारा समूहीकरण के लिए फ्लैग PREG_SET_ORDER
का उपयोग करते हैं:
<?php
$time = '12:01:02 13:03:04 14:05:06';
preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res, PREG_SET_ORDER);
var_dump($res);
?>
कोड निष्पादन का परिणाम:
[
0 => '12:01:02',
1 => '12',
2 => '01',
3 => '02'
],
[
0 => '13:03:04',
1 => '13',
2 => '03',
3 => '04'
],
[
0 => '14:05:06',
1 => '14',
2 => '05',
3 => '06'
]
यह भी देखें
-
फ़ंक्शन
preg_match,
जो रेगुलर एक्सप्रेशन से पहला मिलान ढूंढता है -
फ़ंक्शन
preg_replace,
जो रेगुलर एक्सप्रेशन के अनुसार खोज और प्रतिस्थापन करता है