PHP တွင် Substr သည် string ကို byte length အရသိရသည်။ MB_SubtrChrintr ကို ဇာတ်ကောင်အရှည်ဖြင့် "byte နံပါတ်" (outpes အရေအတွက်ကိုကန့်သတ်ထားပါက) ကိုအသည်းအသန်ပြုလုပ်နိုင်သော်လည်း MB_StrCut ကို အသုံးပြုရန်လိုအပ်သည်။
mb_strcut ၏အားသာချက်များမှာ -
ကြားဖြတ်ရန် "byte နံပါတ်" ကိုနှိပ်ပါ။
Multi-byte အက်ခရာများ၏သမာဓိကိုသေချာစေပါ။
Multibyte encoding formats အားလုံးအတွက်သင့်တော်သည် (UTF-8, GB2312 စသည်ဖြင့်) ။
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: ဒီဟာကအသုံးပြုမှုတစ်ခုပါ ။
ကျွန်ုပ်တို့သည်တစ် ဦး လျှင်တရုတ်အကြောင်းအရာ 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');
}
$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 ကိုထုတ်ယူ။ ဇာတ်ကောင်သမာဓိကိုအလိုအလျောက်လုပ်ဆောင်သည်။
သုံးစွဲသူများကို 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 [စာမျက်နှာ '] မှတဆင့်ရရှိမည်ဖြစ်သည်။
encoding ရှေ့နောက်ညီညွတ်မှု - string ကို MB_Srstrcut အသုံးပြုသော encoding နှင့်ကိုက်ညီကြောင်းသေချာအောင်လုပ်ပါ။
နောက်ဆုံးစာမျက်နှာကိုပြုပြင်ခြင်း - နောက်ဆုံးစာမျက်နှာသည် Bytes အရေအတွက်ကိုသတ်မှတ်ရန်မလုံလောက်ပါ, ၎င်းကို compatibleely ပြုလုပ်ရန်လိုအပ်သည်။
cache optimization : စာသားအကြောင်းအရာများမကြာခဏမပြောင်းလဲပါကစွမ်းဆောင်ရည်တိုးတက်စေရန် cache paging အပိုင်းအစများကိုသင်စဉ်းစားနိုင်သည်။