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လုပ်ဆောင်ချက်၊
သည် ရီဂျူလာ ဖော်ပြချက်အရ ရှာဖွေခြင်းနှင့် အစားထိုးခြင်းကို လုပ်ဆောင်ပေးသည်