လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တရုတ်စာလုံးများကိုတိကျသောကြားဖြတ်ခြင်းနှင့်ကိုယ်ပွားမှုကိုရရှိရန် MB_StrCut ကိုသုံးပါ

တရုတ်စာလုံးများကိုတိကျသောကြားဖြတ်ခြင်းနှင့်ကိုယ်ပွားမှုကိုရရှိရန် MB_StrCut ကိုသုံးပါ

gitbox 2025-05-29

1 ။ အဘယ်ကြောင့် substrstruct သို့မဟုတ် mb_subrstr အစား mb_strcut ကိုရွေးချယ်?

PHP တွင် Substr သည် string ကို byte length အရသိရသည်။ MB_SubtrChrintr ကို ဇာတ်ကောင်အရှည်ဖြင့် "byte နံပါတ်" (outpes အရေအတွက်ကိုကန့်သတ်ထားပါက) ကိုအသည်းအသန်ပြုလုပ်နိုင်သော်လည်း MB_StrCut ကို အသုံးပြုရန်လိုအပ်သည်။

mb_strcut ၏အားသာချက်များမှာ -

  • ကြားဖြတ်ရန် "byte နံပါတ်" ကိုနှိပ်ပါ။

  • Multi-byte အက်ခရာများ၏သမာဓိကိုသေချာစေပါ။

  • Multibyte encoding formats အားလုံးအတွက်သင့်တော်သည် (UTF-8, GB2312 စသည်ဖြင့်) ။


2 ။ MB_SSTRANCT function ကိုအခြေခံအသုံးပြုမှု

 mb_strcut(string $string, int $start, ?int $length = null, ?string $encoding = null): string
  • $ string : လုပ်ငန်းများ၌ခံရဖို့မူရင်း string ကို။

  • $ Start : byte offset ကိုစတင်ပါ (0 မှစတင်ပါ) ။

  • $ အရှည် : ကြားဖြတ်ခံရဖို့ bytes အများဆုံးအရေအတွက်။

  • $ encoding : များသောအားဖြင့် string encoding, များသောအားဖြင့် "UTF-8" ကို set ။

ဥပမာ -

 $text = "ဒါကစမ်းသပ်ခြင်းအတွက်တရုတ် string ကိုဖြစ်ပါတယ်";
$cut = mb_strcut($text, 0, 12, 'UTF-8');
echo $cut;

output: ဒီဟာကအသုံးပြုမှုတစ်ခုပါ


3 ။ mb_structcut ကို paging ယုတ္တိဗေဒနှင့်ပေါင်းစပ်ခြင်းအတွက် MB_StrCut ကိုသုံးပါ

1 ။ Pagination အတိုအထွာကိုရယူပါ

ကျွန်ုပ်တို့သည်တစ် ဦး လျှင်တရုတ်အကြောင်းအရာ 60 ကျော်မှတရုတ်၏ 60 ကျော်ကိုပြသလိုပါကအောက်ပါအတိုင်း Pagination function ကိုရေးနိုင်သည်။

 function getPageContent(string $content, int $page = 1, int $bytesPerPage = 60): string {
    $start = ($page - 1) * $bytesPerPage;
    return mb_strcut($content, $start, $bytesPerPage, 'UTF-8');
}

2 ။ ဥပမာအသုံးပြုမှု -

 $content = file_get_contents('https://gitbox.net/content.txt');
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

$display = getPageContent($content, $page);
echo "<div>$display</div>";

ဤဥပမာတွင်ပရိုဂရမ်သည်လက်ရှိစာမျက်နှာနံပါတ်ကို အခြေခံ. တရုတ်အကြောင်းအရာ 60 ကျော်မှအဘယ်သူမျှမ output ကိုထုတ်ယူ။ ဇာတ်ကောင်သမာဓိကိုအလိုအလျောက်လုပ်ဆောင်သည်။


4 ။ Pagination လင့်များအကောင်အထည်ဖော်ခြင်း

သုံးစွဲသူများကို paging link ကိုနှိပ်ပြီးနောက်စာမျက်နှာ၏အကြောင်းအရာများကိုကြည့်ရှုရန် paging link ကိုနှိပ်ပါ။

 $totalBytes = strlen($content);
$totalPages = ceil($totalBytes / 60);

for ($i = 1; $i <= $totalPages; $i++) {
    echo "<a href='https://gitbox.net/pagination.php?page=$i'>1 ။{$i}စာမျက်နှာ</a> ";
}

ဤယုတ္တိဗေဒသည်မတူကွဲပြားသောစာမျက်နှာနံပါတ်များသို့လင့်များကိုထုတ်လုပ်လိမ့်မည်။ Click တစ်ခုချင်းစီသည်သက်ဆိုင်ရာ clip အကြောင်းအရာကို $ _GET [စာမျက်နှာ '] မှတဆင့်ရရှိမည်ဖြစ်သည်။


5 ။ မှတ်စုဖို့အရာ

  1. encoding ရှေ့နောက်ညီညွတ်မှု - string ကို MB_Srstrcut အသုံးပြုသော encoding နှင့်ကိုက်ညီကြောင်းသေချာအောင်လုပ်ပါ။

  2. နောက်ဆုံးစာမျက်နှာကိုပြုပြင်ခြင်း - နောက်ဆုံးစာမျက်နှာသည် Bytes အရေအတွက်ကိုသတ်မှတ်ရန်မလုံလောက်ပါ, ၎င်းကို compatibleely ပြုလုပ်ရန်လိုအပ်သည်။

  3. cache optimization : စာသားအကြောင်းအရာများမကြာခဏမပြောင်းလဲပါကစွမ်းဆောင်ရည်တိုးတက်စေရန် cache paging အပိုင်းအစများကိုသင်စဉ်းစားနိုင်သည်။