PHP တွင် MB_Parse_StStrtrtrtrstr function ကို URL-encoded query query strings များကို parse quing query strings များကို parice quing quing strings များခွဲထုတ်ရန်အသုံးပြုသည်။ MB_Parse_Str သည် Parse_StrTr.Str လုပ်ဆောင်မှုနှင့်နှိုင်းယှဉ်လျှင်ပိုမိုကျယ်ပြန့်သောဇာတ်ကောင် encodings များကိုအထူးသဖြင့် Multibyte character sets များပါ 0 င်သည့်နေရာများနှင့်နှိုင်းယှဉ်လျှင်။ ဒီ function ကအရမ်းအသုံးဝင်ပေမယ့် encoding ကိုမှန်ကန်စွာမသတ်မှတ်ထားပါကပြ problems နာများစွာကိုသင်ကြုံတွေ့ရနိုင်သည်။ MB_Parse_SrStr. မျက်မြင်သက်သေများ နှင့် encoding ကိုသတ်မှတ်သည့်အခါဤဆောင်းပါးသည်သာမန်အမှားများကိုရှာဖွေတွေ့ရှိလိမ့်မည်။
MB_Parse_Ststrtstst 's function သည် PHP ၏ Built-in Parse_StrTr.Str.Str.Stiness နှင့်ဆင်တူသည်။ အဘယ်သူမျှမဇာတ်ကောင် encoding မသတ်မှတ်ပါက MB_Parse_Str သည် default encoding ကိုအသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">mb_parse_str</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> &</span><span><span class="hljs-variable">$arr</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">void</span></span><span>
</span></span>$ str : ထည့်သွင်းစုံစမ်းမှု string ကို။
$ ar ar : parsed key-value အတွဲများပါဝင်သော output ခင်းကျင်း။
$ encoding : optional ကိုဇာတ်ကောင် encoding ။ မဖော်ပြပါက MB_Parse_Str သည် Mbstring extension ၏ default encoding ကိုအသုံးပြုသည်။
PHP's MB_Parse_StStrtrStrTStr.Str.Str_Str_Str.Str.Str.Str.Str.Str.Str.Str.Str.Str.Str ။ အကယ်. encoding မရှိပါကအောက်ပါ ဘုံ အမှားများဖြစ်ပေါ်နိုင်သည်။
အကယ်. စုံစမ်းမှု string တွင် (တရုတ်, ဂျပန်, ကိုးရီးယားစသကဲ့သို့) multibyte ဇာတ်ကောင်များပါ 0 င်ပါက, အကြောင်းမှာ MB_Parse_Str.Str ၏ encoding သည်အမှန်တကယ်ဇာတ်ကောင်အစုံနှင့်မကိုက်ညီသောကြောင့်ပျက်ကွက်မှုကြောင့်ဖြစ်ပေါ်လာခြင်းသည်အမှန်တကယ်ဇာတ်ကောင်အစုံနှင့်မကိုက်ညီသောကြောင့်ဖြစ်သည်။
ဥပမာ, အောက်ပါမေးမြန်းမှု string ကိုစဉ်းစားပါ။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"name=%E4%BD%A0%E5%A5%BD"</span></span><span>;
</span></span>အကယ်. encoding ကိုမသတ်မှတ်ပါက MB_Parse_Str သည် % e4% bd% A5% A5% A5% A5% BD ကို မှန်ကန်စွာခွဲထုတ်မည်မဟုတ်ပါ။
MB_Parse_Strces_St သည် Multi-byte character sets (UTF-8, SHIFT-JIS, EUC-JP တို့စသည်တို့) ဖြင့်ဒီဇိုင်းပြုလုပ်ထားသည် ။ ၎င်းသည်ပုံမှန်စာလုံးများကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်းမခံရဟုထင်ရလိမ့်မည်။
အကယ်. စုံစမ်းမှု string တွင်အထူးသင်္ကေတများ (သို့) ပုံမှန်အက္ခရာများ (တရုတ်, ရုရှား, အာရဗီဘာသာစသည့်စသည်တို့) ပါ 0 င်ပါကမှန်ကန်သော encoding format ကိုမဖော်ပြဘဲ MB_Parse_Str သည် ဤအချက်အလက်များကိုမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာမှားယွင်းစွာလွဲမှားစေနိုင်သည်သို့မဟုတ်မှားယွင်းသောတန်ဖိုးများကိုသူတို့အားမှားယွင်းစွာအဓိပ္ပာယ်ကောက်ယူနိုင်သည်။ ဥပမာအားဖြင့်, UTF-8 encoding အောက်တွင်တရုတ်စာလုံးများကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာသည်,
MB_Parse_Str ကိုခေါ်ဆိုသည့်အခါစာလုံးပေါင်းအမှားများကြောင့်မှားယွင်းသောအမှားများကိုရှောင်ရှားရန်အကြံပြုသည်။ ၎င်းသည်စုံစမ်းမှု string ရှိ Multibyte ဇာတ်ကောင်များကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
အကယ်. သင်၏လျှောက်လွှာသည် UTF-8 encoding အပေါ်အခြေခံသည်ဆိုပါက MB_Parse_Str ကို ခေါ်ဆိုသောအခါ UTF-8 encoding ကိုအတိအလင်းဖော်ပြရန်အကြံပြုသည်။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"name=%E4%BD%A0%E5%A5%BD"</span></span><span>;
</span><span><span class="hljs-variable">$arr</span></span><span> = [];
</span><span><span class="hljs-title function_ invoke__">mb_parse_str</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$arr</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span></span>ထုတ်လုပ်မှု -
<span><span><span class="hljs-keyword">Array</span></span><span>
(
[</span><span><span class="hljs-type">name</span></span><span>] => မင်္ဂလာပါ
)
</span></span>query string ၏ encoding format ကိုသင်သေချာမသိပါကအခြားနည်းတစ်နည်းမှာ encoding ကို detning နှင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ရန်ဖြစ်သည်။ input string ၏ encoding type ကို detect လုပ်ရန် MB_DetEct_encoding function ကိုသင်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"name=%E4%BD%A0%E5%A5%BD"</span></span><span>;
</span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_detect_encoding</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, [</span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'GB2312'</span></span><span>, </span><span><span class="hljs-string">'ISO-8859-1'</span></span><span>]);
</span><span><span class="hljs-variable">$arr</span></span><span> = [];
</span><span><span class="hljs-title function_ invoke__">mb_parse_str</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$arr</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span></span>ဤနည်းအားဖြင့်သင်သည်အမှန်တကယ်အခြေအနေများနှင့်အညီအလိုအလျောက်စစ်ဆေးပြီးခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးသင့်လျော်သော encoding ကိုအသုံးပြုနိုင်သည်။
MB_Parse_Str ကို အသုံးပြုသောအခါမှန်ကန်သောဇာတ်ကောင်ကိုမဖော်ပြသည့်အခါ, query string ကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန်သေချာစေရန် MB_Parse_Strces_Str သည်အထူးသဖြင့်အသုံးပြုသူ input ကိုသို့မဟုတ်ပြင်ပဒေတာများကိုထုတ်ယူသောအခါ charge encodings များကိုအမြဲတမ်းအတိအလင်းသတ်မှတ်ထားရန်အကြံပြုသည်။ ထို့အပြင်မတူညီသောဇာတ်ကောင် encoding methods များကိုနားလည်ခြင်းနှင့်လိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်ခြင်းသည်ပရိုဂရမ်၏ကြံ့ခိုင်မှုကိုတိုးတက်စေပြီး encoding ပြ problems နာများကြောင့်ဖြစ်သည့်အချက်အလက်ဆုံးရှုံးမှုသို့မဟုတ်အမှိုက်များကိုရှောင်ရှားနိုင်သည်။