လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> exploit function ကို array_filter function ကို string တစ်ခုမှာဗလာကျင်းနေတဲ့ element တွေကိုဘယ်လိုထိရောက်စွာရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းဖော်ပြသလဲ။

exploit function ကို array_filter function ကို string တစ်ခုမှာဗလာကျင်းနေတဲ့ element တွေကိုဘယ်လိုထိရောက်စွာရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းရှင်းရှင်းလင်းလင်းဖော်ပြသလဲ။

gitbox 2025-06-08

1 ။ အသုံးချခြင်း function ကို exploit လုပ်ဖို့ နိဒါန်း

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 အပေါ် အခြေခံ. အမျိုးမျိုးသောဒြပ်စင်များအဖြစ်ခွဲထားသည်။


2 ။ array_filter function ကိုမိတ်ဆက်

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
)

အပေါ်ကပြထားတဲ့အတိုင်းအချည်းနှီးသောဒြပ်စင်ကိုအောင်မြင်စွာဖယ်ရှားခဲ့သည်။


3 ။ string အတွက်အချည်းနှီးသော element တွေကိုရှင်းလင်းဖို့ စူးစမ်းလေ့လာရေး နှင့် array_filter ကို ပေါင်းစပ်

စူးစမ်းလေ့လာခြင်း နှင့် 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 ကို သုံးပါ။ နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်အချည်းနှီးသောဒြပ်စင်များမရှိဘဲခင်းကျင်းမှုတစ်ခုရရှိသည်။


4 ။ URL တွင်အချည်းနှီးသောဒြပ်စင်များကိုကိုင်တွယ်ပါ

သင့်ရဲ့ 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 ဖြင့်အစားထိုးပါ