လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MB_COCVert_case တွင် Multibyte ဇာတ်ကောင်အစုံများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း MB_COCVert_case တွင်

MB_COCVert_case တွင် Multibyte ဇာတ်ကောင်အစုံများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း MB_COCVert_case တွင်

gitbox 2025-05-29

အဘယ်ကြောင့် strtolower သို့မဟုတ် strtoupper အစား mb_convert_case ကို အဘယ်ကြောင့်အသုံးပြု?

စံ strtolower နှင့် strutoupper လုပ်ဆောင်ချက်များသည် ASCII စာလုံးများကိုသာထောက်ပံ့သည်။ UTF-8 encoded ကဲ့သို့သောဇာတ်ကောင်များထုတ်လုပ်သည့်အခါသူတို့သည်အင်္ဂလိပ်မဟုတ်သောစာလုံးများကိုမှန်ကန်စွာ ပြောင်းလဲ. မရပါ။ ဥပမာအားဖြင့်:

 $text = "Γει? Σου Κ?σμε"; // ဂရိ
echo strtoupper($text); // output မမှန်ကန်ပါ

ယခုအချိန်တွင် MB_ConVert_case လိုအပ်သည်မှာ -

 $text = "Γει? Σου Κ?σμε";
echo mb_convert_case($text, MB_CASE_UPPER, "UTF-8"); // စာလုံးအကြီးအထိမှန်ကန်စွာပြောင်းပါ

parameters တွေကိုအသေးစိတ်ရှင်းပြချက်

MB_ConVert_case ၏ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 string mb_convert_case(string $string, int $mode, ?string $encoding = null)
  • $ string : ပြောင်းလဲခံရဖို့ string ကို။

  • $ mode : convertion mode ကိုအဓိကအားဖြင့် -

    • mb_case_upper : စာလုံးအကြီးသို့ပြောင်းပါ

    • mb_case_lower : စာလုံးအသေးပြောင်းပါ

    • mb_case_title - စကားလုံးတစ်လုံးစီ၏ပထမဆုံးစာ၏အရင်းအနှီး

  • $ encoding : ဇာတ်ကောင် encoding (ဥပမာ UTF-8, GBK) ။ မဖော်ပြထားပါက MB_Internal_encoding () ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။


လက်တွေ့ကျတဲ့ကျွမ်းကျင်မှုများကိုမျှဝေပါ

1 ။ ရှင်းရှင်းလင်းလင်း encoding ကိုသတ်မှတ်ပါ

အကြိမ်ပေါင်းများစွာ developer များက encoding parameters တွေကိုလျစ်လျူရှုကြပြီးမှားယွင်းသောပြောင်းလဲခြင်းရလဒ်ကိုရရှိလာတဲ့ encoding parameters တွေကိုလျစ်လျူရှုထားတယ်။ Code ကိုရှင်းရှင်းလင်းလင်းရေးရန်အမြဲတမ်းအကြံပြုသည် -

 $text = "na?ve fa?ade résumé";
echo mb_convert_case($text, MB_CASE_UPPER, 'UTF-8');

output: na? ve fa? ade Résumé

2 ။ တရုတ်နှင့်မည်သို့ဆက်ဆံရမည်နည်း။

MB_ConVert_case သည် တရုတ်အက္ခရာများကိုမပြောင်းလဲပါ။ ဒါပေမယ့် UTF-8 encoding ကိုသတ်မှတ်ဖို့လိုနေသေးတယ်, မဟုတ်ရင် string ကိုဖြတ်နိုင်ပါသည်။

 $text = "မင်္ဂလာပါ World";
echo mb_convert_case($text, MB_CASE_UPPER, 'UTF-8'); // ထုတ်လုပ်ခြင်း:မင်္ဂလာပါ WORLD

3 ။ ပထမအက်ခရာစာလုံး (ခေါင်းစဉ်ပုံစံ)

ဆောင်းပါးခေါင်းစဉ်များ, သတင်းခေါင်းစဉ်များစသည်တို့ကိုကိုင်တွယ်ရန်သင့်တော်ပါသည်။

 $title = "le petit prince";
echo mb_convert_case($title, MB_CASE_TITLE, 'UTF-8'); // Le Petit Prince

စာသားထဲမှာ HTML tags များ (သို့) အဖွဲ့အစည်းများရှိပါက၎င်းတို့ကိုပထမ ဦး စွာဖယ်ရှားပါသို့မဟုတ်သင့်တော်သောအပြောင်းအလဲနဲ့လုပ်ပါ, မဟုတ်ရင် output ကိုထိခိုက်လိမ့်မည်။

4 ။ ပုံစံဒေတာသန့်ရှင်းရေးနှင့်အတူသုံးပါ

 $name = trim($_POST['name']);
$cleaned = mb_convert_case($name, MB_CASE_TITLE, 'UTF-8');

အသုံးပြုသူ input ကိုအထူးသဖြင့်စာရွက်စာတမ်းအမည်များ, ခေါင်းစဉ်အရက်ဆိုင်များစသဖြင့် interface ကိုပြသည့်အခါအသုံးပြုသူထည့်သွင်းမှုသည်တသမတ်တည်းပုံစံရှိသည်။


နမူနာလျှောက်လွှာ - အသုံးပြုသူပရိုဖိုင်း၏မျက်နှာပြင်ပုံစံကိုစံသတ်မှတ်ချက်ပုံစံ

အသုံးပြုသူပရိုဖိုင်းရှိအမည်တစ်ခု forwing ကို format နှင့်ပြရန်လိုအပ်ပြီးဘာသာစကားမျိုးစုံ input ကိုထောက်ပံ့ရန်လိုအပ်သည်ဆိုပါစို့။

 function formatUserName($name) {
    return mb_convert_case(trim($name), MB_CASE_TITLE, 'UTF-8');
}

echo formatUserName("éMILIE du chatelet"); // émilie Du Chatelet

API interface တွင်ဤလုပ်ဆောင်မှုကိုသင် adcapsulate လုပ်နိုင်ပြီး Returned JSONS အချက်အလက်များကိုပေါင်းစည်းထားသောပုံစံဖြင့်စံသတ်မှတ်နိုင်သည်။ ဥပမာသည်အောက်ပါအတိုင်းဖြစ်သည် -

 header('Content-Type: application/json');

$data = [
    'name' => mb_convert_case('sErGiO péRez', MB_CASE_TITLE, 'UTF-8'),
    'profile_url' => 'https://gitbox.net/user/sergioperez'
];

echo json_encode($data);