Exploit function သည် PHP ရှိ function တစ်ခုဖြစ်ပြီး string တစ်ခုသို့ string တစ်ခုသို့ခွဲထားသည်။ ဤလုပ်ဆောင်ချက်သည်အဓိက parameters နှစ်ခုကိုရရှိသည်, ပထမ ဦး ဆုံး parameter သည် delimiter ဖြစ်ပြီးဒုတိယ parameter သည်ကွဲပြားခြင်းကိုဆိုလိုသည်။
$input_string = "apple,banana,,orange,,grape";
$array = explode(",", $input_string);
print_r($array);
output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
Array
(
[0] => apple
[1] => banana
[2] =>
[3] => orange
[4] =>
[5] => grape
)
အထက်တွင်ဖော်ပြထားသည့်အတိုင်း exploit သည် stringit ကို delimiter အပေါ် အခြေခံ. အမျိုးမျိုးသောဒြပ်စင်များအဖြစ်ခွဲထားသည်။
array_filter function ကို etray တစ်ခုတွင် element များကို filter လုပ်ရန်အသုံးပြုသည်။ ၎င်းသည် calmback function ၏ပြန်လာတန်ဖိုးကို အခြေခံ. element များကိုထိန်းသိမ်းထားခြင်းရှိမရှိဆုံးဖြတ်နိုင်သည်။ ပုံမှန်အားဖြင့် array_filter သည် တရား 0 င် , မှားယွင်းသော ,
$array = ["apple", "banana", "", "orange", "", "grape"];
$filtered_array = array_filter($array);
print_r($filtered_array);
output ရလဒ် -
Array
(
[0] => apple
[1] => banana
[3] => orange
[5] => grape
)
အပေါ်ကပြထားတဲ့အတိုင်းအချည်းနှီးသောဒြပ်စင်ကိုအောင်မြင်စွာဖယ်ရှားခဲ့သည်။
စူးစမ်းလေ့လာခြင်း နှင့် array_filter ကို ပေါင်းစပ်ပြီး strings မှာရှိတဲ့အချည်းနှီးသောအရာတွေကိုထိထိရောက်ရောက်ရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းမြင်နိုင်တယ်။ ပထမ ဦး စွာ strings ကို exploit မှတဆင့် delimiter မှ arrays သို့ခွဲထုတ်ပါ, ပြီးနောက် array_filter ကိုသုံးပြီးဗလာဒြပ်စင်များကိုစစ်ထုတ်ပါ။
$input_string = "apple,banana,,orange,,grape";
$array = explode(",", $input_string);
$filtered_array = array_filter($array);
print_r($filtered_array);
output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
Array
(
[0] => apple
[1] => banana
[3] => orange
[5] => grape
)
ဒီဥပမာမှာ string $ input_string ကို comma အားဖြင့်ခင်းကျင်းရန် string_string ကိုခွဲခြားရန်ပထမ ဦး ဆုံး အသုံးချ ပါ။ ထို့နောက်အချည်းနှီးသော element ကိုဖယ်ရှားရန် array_fileter ကို သုံးပါ။ နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်အချည်းနှီးသောဒြပ်စင်များမရှိဘဲခင်းကျင်းမှုတစ်ခုရရှိသည်။
သင့်ရဲ့ string မှာ URLs တွေရှိပြီးဒီ urls မှာရှိတဲ့ဒိုမိန်းအမယ်တွေကိုဆက်ထိန်းထားချင်တယ်ဆိုရင် (ဥပမာ GitBox.net ) မှာ domain name တွေကိုဆက်ထိန်းထားချင်တယ်ဆိုရင်,
ဥပမာအားဖြင့်, သင်၏ string တွင် URL များစွာပါ 0 င်ပါက URL ၏ဒိုမိန်းအမည်ကိုထုတ်ယူလိုပါက GitBox.net ဖြင့်အစားထိုးလိုပါသည်။
$input_string = "https://example.com/path,,https://test.com,,https://gitbox.net/test";
$array = explode(",", $input_string);
// အသုံးပြုarray_mapပုံမှန်အသုံးအနှုန်းများဖြင့်ဒိုမိန်းအမည်များကိုအစားထိုးပါ
$array = array_map(function($url) {
if (preg_match("/https?:\/\/(.*?)(\/|\?|\#|$)/", $url, $matches)) {
$url = "https://gitbox.net" . substr($url, strlen($matches[0]) - strlen($matches[1]));
}
return $url;
}, $array);
// အချည်းနှီးသောဒြပ်စင်ရှင်းလင်းပါ
$filtered_array = array_filter($array);
print_r($filtered_array);
output ရလဒ် -
Array
(
[0] => https://gitbox.net/path
[1] => https://gitbox.net
[2] => https://gitbox.net/test
)
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် string ကို exploit ဖြင့်ခွဲခြား ထား. array_map_map and ပုံမှန်အသုံးအနှုန်းကို သုံး. url တစ်ခုစီကို GitAnBox.net ဖြင့်အစားထိုးပါ ။
သက်ဆိုင်သောတက်(ဂ်)များ:
explode array_filter