PHP တွင် MB_ereg_replace_Callsback function သည် Mbstring extension library ၏လုပ်ဆောင်ချက်တစ်ခု၏လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည် strings contents ကို dynamically ပြုပြင်ပြောင်းလဲရန်နှင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ရန်ကြိုးကြိုးများနှင့်ကိုက်ညီစေရန်နှင့် callback function များကိုလုပ်ဆောင်ရန်ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုရန်ခွင့်ပြုသည်။ ဤအင်္ဂါရပ်သည်ရှုပ်ထွေးသောကြိုးစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းတို့နှင့်ဆက်ဆံရာတွင် MB_ereg_replace_Callback စေသည်။ ဤဆောင်းပါးသည် MB_ereg_replace_callback မှတဆင့်ကြိုးစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုနားလည်ရန်သင့်အားလမ်းပြပါမည်။
MB_ereg_replace_Callback သည် PHP ရှိ Mbstring extension မှပေးသော function တစ်ခုဖြစ်သည်။ ၎င်း၏ function သည် strings များကိုရှာဖွေရန်ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုရန်, လိုက်ဖက်သည့်အပိုင်းကို callback function တစ်ခုသို့လွှဲပြောင်းယူပြီးမူရင်းနှင့်ကိုက်ညီသောအကြောင်းအရာများကိုအစားထိုးရန်ဖြစ်သည်။ လုပ်ဆောင်ချက်၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">mb_ereg_replace_callback</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-keyword">callable</span></span><span> </span><span><span class="hljs-variable">$callback</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ ပုံစံ - ပစ်မှတ် string တွင်တိကျသောအကြောင်းအရာနှင့်ကိုက်ညီသောပုံမှန်စကားရပ်။
$ callback : ကိုက်ညီသောအကြောင်းအရာပေါ်လာသည့်အခါ callback function ကို, အကြောင်းအရာကိုလုပ်ဆောင်ရန် function ကိုခေါ်လိမ့်မည်။
$ string : function ကိုဖြစ်လိမ့်မည်သည့်ပစ်မှတ် string ကို။
MB_ereg_replace_Callback မှတဆင့်ကြိုးများစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းကိုအကောင်အထည်ဖော်ရန်ကျွန်ုပ်တို့သည်ယုတ္တိဗေဒ 2 ခုကိုသတ်မှတ်ရန်လိုအပ်သည်။
encryption : ဇာတ်ကောင်တစ် ဦး ချင်းစီကိုစည်းမျဉ်းစည်းကမ်းများအရ encrypted character ထဲသို့ string တစ်ခုထဲသို့ပြောင်းပါ။
စာဝှက်ဖြည်ခြင်း - Encrypted string ကိုမူလ string ကိုပြန်ယူပါ။
ဇာတ်ကောင်နှင့်စာဝှက်ဖြည်သည့်ယုတ္တိဗေဒကိုရိုးရှင်းသောဇာတ်ကောင် offsets များကို အသုံးပြု. ရိုးရိုးရှင်းရှင်းဇာတ်ကောင် offsets များကို အသုံးပြု. ရိုးရိုးရှင်းရှင်းဇာတ်ကောင် offsets များကို အသုံးပြု. ငွေပမာဏကိုတိုးမြှင့်ခြင်းသို့မဟုတ်လျှော့ချခြင်းစသည့်သို့မဟုတ်လျှော့ချခြင်းစသည်တို့ကိုအကောင်အထည်ဖော်နိုင်သည်။
စာဝှက်ခြင်းလုပ်ငန်းစဉ်အတွင်းကျွန်ုပ်တို့သည်ဇာတ်ကောင်တစ် ဦး ချင်းစီကို string ထဲတွင် offset လုပ်ရန်ရွေးချယ်နိုင်သည်။ ဥပမာအားဖြင့်, ascii တန်ဖိုးကိုပုံသေတန်ဖိုးတစ်ခုသို့ထည့်ပါ။ ဤတွင် MB_ereg_replace_Callback ကို အသုံးပြု. စာဝှက်ခြင်းဥပမာတစ်ခုမှာ -
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// စာဝှက်ထားတဲ့ callback function ကို</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">encrypt_callback</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) {
</span><span><span class="hljs-comment">// ကိုက်ညီတဲ့ဇာတ်ကောင်တွေကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$char</span></span><span> = </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>];
</span><span><span class="hljs-comment">// ဇာတ်ကောင်များပြောင်းပါ ASCII တန်ဖိုးနှင့် add 3</span></span><span>
</span><span><span class="hljs-variable">$ascii</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-variable">$char</span></span><span>) + </span><span><span class="hljs-number">3</span></span><span>;
</span><span><span class="hljs-comment">// စာဝှက်ထားတဲ့ ASCII တန်ဖိုးကိုနောက်ကျောဇာတ်ကောင်မှပြန်ပြောင်း</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">chr</span></span><span>(</span><span><span class="hljs-variable">$ascii</span></span><span>);
}
</span><span><span class="hljs-comment">// encrypted ခံရဖို့ string ကို</span></span><span>
</span><span><span class="hljs-variable">$input_string</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-comment">// ဇာတ်ကောင်တစ် ဦး ချင်းစီကိုပုံမှန်စကားရပ်နှင့် encrypt ဖြင့်ကိုက်ညီပါ</span></span><span>
</span><span><span class="hljs-variable">$encrypted_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_ereg_replace_callback</span></span><span>(</span><span><span class="hljs-string">'[A-Za-z0-9]'</span></span><span>, </span><span><span class="hljs-string">'encrypt_callback'</span></span><span>, </span><span><span class="hljs-variable">$input_string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Encrypted: "</span></span><span> . </span><span><span class="hljs-variable">$encrypted_string</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ရှင်းပြပါ -
encrypt_ccallback function သည်ကိုက်ညီသောဇာတ်ကောင်တစ်ခုစီတွင်စာဝှက်စနစ်ဖြင့်လုပ်ဆောင်သည်။ ဇာတ်ကောင်များ၏ ascii တန်ဖိုးကို 3 သို့ထည့်သွင်းထားသည်။
ပုံမှန်အသုံးအနှုန်း [A-Za-Z0-9] သည် အက္ခရာများနှင့်နံပါတ်များအားလုံးနှင့်ကိုက်ညီသည်။
MB_ereg_replace_callback သည် string ကိုလုပ်ဆောင်ရန်နှင့်စာဝှက်ထားသော string ကိုထုတ်လုပ်ရန် encrypt_ccallback function ကိုခေါ်လိမ့်မည်။
စာဝှက်ဖြည်ခြင်းလုပ်ငန်းစဉ်သည် encryption လုပ်ငန်းများအတွက်ပြောင်းပြန်ဖြစ်စဉ်တစ်ခုဖြစ်သည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင်စာဝှက်စနစ်ကာလအတွင်းအသုံးပြုသော offset မှဇာတ်ကောင်များ၏ ascii တန်ဖိုးကိုနုတ်ရန်လိုအပ်သည်။ ဤတွင်စာဝှက်ဖြည်သောကုဒ်ဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// callback function ကို decrypt</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">decrypt_callback</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) {
</span><span><span class="hljs-comment">// ကိုက်ညီတဲ့ဇာတ်ကောင်တွေကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$char</span></span><span> = </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>];
</span><span><span class="hljs-comment">// ဇာတ်ကောင်များပြောင်းပါ ASCII တန်ဖိုးနှင့်နုတ် 3</span></span><span>
</span><span><span class="hljs-variable">$ascii</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-variable">$char</span></span><span>) - </span><span><span class="hljs-number">3</span></span><span>;
</span><span><span class="hljs-comment">// စာဝှက်ဖြည် ASCII တန်ဖိုးကိုနောက်ကျောဇာတ်ကောင်မှပြန်ပြောင်း</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">chr</span></span><span>(</span><span><span class="hljs-variable">$ascii</span></span><span>);
}
</span><span><span class="hljs-comment">// စာဝှက်ထားတဲ့ string ကို</span></span><span>
</span><span><span class="hljs-variable">$encrypted_string</span></span><span> = </span><span><span class="hljs-string">"Khoor, Zruog!"</span></span><span>;
</span><span><span class="hljs-comment">// ဇာတ်ကောင်တစ်ခုစီကိုပုံမှန်စကားရပ်ဖြင့်ကိုက်ညီပြီး၎င်းကိုစာဝှက်ဖြည်ပါ</span></span><span>
</span><span><span class="hljs-variable">$decrypted_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_ereg_replace_callback</span></span><span>(</span><span><span class="hljs-string">'[A-Za-z0-9]'</span></span><span>, </span><span><span class="hljs-string">'decrypt_callback'</span></span><span>, </span><span><span class="hljs-variable">$encrypted_string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Decrypted: "</span></span><span> . </span><span><span class="hljs-variable">$decrypted_string</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ရှင်းပြပါ -
Decrypt_Callback function သည်ကိုက်ညီသောဇာတ်ကောင်တစ် ဦး ချင်းစီအပေါ်စာဝှက်ဖြည်ခြင်းလုပ်ငန်းကို အသုံးပြု. ဇာတ်ကောင်၏ ascii တန်ဖိုးကို 3 ဖြင့်နုတ်သည်။
အလားတူစွာအက္ခရာများနှင့်နံပါတ်များအားလုံးနှင့်ကိုက်ညီရန်ပုံမှန်အသုံးအနှုန်းကိုသုံးပါ ။
MB_ereg_replace_Callback on ကိုအခြေခံသည့်ဤစာဝှက်ဖြည်ခြင်းနှင့်စာဝှက်ဖြည်သည့်နည်းလမ်းသည်ရိုးရှင်းသောစာဝှက်စနစ်ယုတ္တိဗေဒနှင့်ဆက်ဆံရာတွင်အလွန်သင့်လျော်သည်။ ၎င်းသည် strings များကို dynamically encryption နှင့် decryption လုပ်ငန်းများလုပ်ဆောင်ရန်ကူညီနိုင်အောင်ကူညီနိုင်သည်။ ဤနည်းလမ်းသည်ရိုးရှင်းသောအခြေအနေများအတွက်သင့်တော်သော်လည်းပိုမိုရှုပ်ထွေးသော encryption လိုအပ်ချက်များအတွက်ရင့်ကျက်သော encryption algorithms (ဥပမာ AES, RSA, စသည်တို့) ကိုအသုံးပြုရန်အကြံပြုသည်။
MB_ereG_replace_callback မှတဆင့်ကျွန်ုပ်တို့သည် string encryption နှင့် decrypion ယုတ္တိဗေဒကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤလုပ်ဆောင်မှုသည်ပုံမှန်အသုံးအနှုန်းများနှင့် callback လုပ်ဆောင်ချက်များ၏အင်အားကြီးသောလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ပြီး string processing စဉ်အတွင်းအမျိုးမျိုးသောရှုပ်ထွေးသောစည်းမျဉ်းများကိုပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။ သို့သော်ဤစာဝှက်စနစ်နည်းလမ်းသည်ရိုးရှင်းသောအခြေအနေများအတွက်အဓိကအားဖြင့်သင့်တော်သည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်လုံခြုံရေးလိုအပ်ချက်များပိုမိုမြင့်မားသော application များအတွက် application များအတွက် appector encryption နည်းပညာကိုအသုံးပြုသင့်သည်။