ဖန်ရှင် preg_filter
ဖန်ရှင် preg_filter သည် စာကြောင်း သို့မဟုတ် စာကြောင်းများ ခင်းကျင်းတွဲထဲတွင် regular expression အသုံးပြု၍ ရှာဖွေခြင်းနှင့် အစားထိုးခြင်းကို ဆောင်ရွက်ပေးသည်။ preg_replace နှင့် မတူဘဲ၊ ၎င်းက ကိုက်ညီမှု တွေ့ရှိခဲ့သော အစိတ်အပိုင်းများကိုသာ ပြန်လည်ပေးပို့သည်။ ပထမ parameter အဖြစ် regular expression ကို၊ ဒုတိယ parameter အဖြစ် အစားထိုးမည့် စာကြောင်းကို၊ တတိယ parameter အဖြစ် လုပ်ဆောင်ရန် စာကြောင်း သို့မဟုတ် ခင်းကျင်းတွဲကို လက်ခံသည်။
စတုတ္ထ မဖြစ်မနေထည့်ရန်မလိုသော parameter တွင် အစိတ်အပိုင်းတစ်ခုစီ၌ အစားထိုးခြင်း အရေအတွက် အများဆုံးကို သတ်မှတ်နိုင်သည် (ပုံမှန် အားဖြင့် -1 ဖြစ်ပြီး၊ "ကန့်သတ်ချက်မရှိ" ဟု ဆိုလိုသည်)။
ပဉ္စမ မဖြစ်မနေထည့်ရန်မလိုသော parameter တွင် လုပ်ဆောင်ပြီး အစားထိုးခြင်း အရေအတွက်ကို ရေးသွင်းမည့် variable ကို ဖော်ပြသည်။
ဝါကျဖွဲ့ထုံး
preg_filter(pattern, replacement, subject, [limit = -1], [count]);
နမူနာ
စာကြောင်းထဲရှိ ကိန်းဂဏန်းအားလုံးကို 'X' သင်္ကေတဖြင့် အစားထိုးကြပါစို့:
<?php
$res = preg_filter('/\d/', 'X', 'a1b2c3');
var_dump($res);
?>
ကုဒ်ကို လုပ်ဆောင်ခြင်း၏ ရလဒ်:
'aXbXcX'
နမူနာ
စာကြောင်းများ ခင်းကျင်းတွဲကို လုပ်ဆောင်၍ ကိန်းဂဏန်းများကို '#' ဖြင့် အစားထိုးကြပါစို့:
<?php
$res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']);
var_dump($res);
?>
ကုဒ်ကို လုပ်ဆောင်ခြင်း၏ ရလဒ်:
['a#', 'b#', 'd#']
နမူနာ
preg_replace နှင့် ခြားနားချက်ကို သရုပ်ပြကြပါစို့:
<?php
$input = ['a1', 'b2', 'c', 'd4'];
$res_filter = preg_filter('/\d/', '#', $input);
$res_replace = preg_replace('/\d/', '#', $input);
echo "Filter result: ";
var_dump($res_filter);
echo "Replace result: ";
var_dump($res_replace);
?>
ကုဒ်ကို လုပ်ဆောင်ခြင်း၏ ရလဒ်:
Filter result: ['a#', 'b#', 'd#']
Replace result: ['a#', 'b#', 'c', 'd#']
ဆက်စပ် ကြည့်ရှုရန်
-
ဖန်ရှင်
preg_replace,
အရာ regular expression အသုံးပြု၍ အစားထိုးခြင်းကို ဆောင်ရွက်ပေးသည် -
ဖန်ရှင်
preg_match,
အရာ regular expression နှင့် ကိုက်ညီမှုကို စစ်ဆေးပေးသည်