ဘာသာစကားမျိုးစုံပါ 0 င်သောစာလုံးကြီးများပါ 0 င်သည့်စာသားကြီးများကိုလုပ်ဆောင်သောအခါ PHP ၏ string function သည် Multi-byte encoding ကိုမပံ့ပိုးပါစေ။ အထူးသဖြင့်စာသား၏ကြီးမားသောစာသားကိုပြသရန်လိုအပ်သည့်နေရာများတွင် strings များကိုပိုမိုလုံခြုံစွာကြားဖြတ်လေ့လာခြင်းသည်အဓိကပြ issue နာဖြစ်လာနိုင်သည်။ ဤဆောင်းပါးသည် MB_Strcut function ကို အသုံးပြု. String Pagination display ကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်,
Substrict () PHP တွင်ဘုံ string truning function ကိုဖြစ်သော်လည်း၎င်းကို bytes မှပြုလုပ်သည်။ အကယ်. စာသားတွင်တရုတ်, ဂျပန်, ဂျပန်သို့မဟုတ်ကိုရီးယား, Substrch () ကဲ့သို့သော byte အက္ခရာများပါ 0 င်ပါက, ဆန့်ကျင်ဘက်အနေဖြင့် MB_Strcut () သည် MIB_STRCRT () သည် Multibyte ဇာတ်ကောင်အစုံများအတွက်ဒီဇိုင်းပြုလုပ်ထားသော function တစ်ခုဖြစ်သည်။
mb_strcut ( string $string , int $start [, int $length [, string $encoding ]] ) : string
$ string : လုပ်ငန်းများ၌ခံရဖို့ string ကို။
$ Start : byte offset စတင်ပါ။
$ အရှည် : ကြားဖြတ် bytes အရေအတွက်။
$ encoding : ယေဘုယျအားဖြင့် UTF-8 ကိုအသုံးပြုပြီးဇာတ်ကောင် encoding ။
မှတ်ချက် - MB_Strcut () သည် MB_substr () နှင့်ကွဲပြားခြားနားသည် ။
1000 bytes ကဲ့သို့သောစာမျက်နှာတစ်ခုချင်းစီတွင်ဖော်ပြထားသော bytes အများဆုံးအရေအတွက်ကိုသတ်မှတ်သည်။
လက်ရှိစာမျက်နှာနံပါတ်နှင့်သက်ဆိုင်ရာစာသားကိုကြားဖြတ်ရန် mb_struccut () ကို သုံးပါ။
Paging ဖြစ်သည့်အခါစာမျက်နှာ၏စုစုပေါင်းအရေအတွက်ကိုဆုံးဖြတ်ရန်စာမျက်နှာတစ်ခုချင်းစီအတွက် bytes အရေအတွက်အားဖြင့်အက်ခရာများ၏စုစုပေါင်းအရှည်ကိုခွဲဝေရန်လိုအပ်သည်။
function paginateText($text, $page = 1, $bytesPerPage = 1000, $encoding = 'UTF-8') {
$totalBytes = strlen($text);
$start = ($page - 1) * $bytesPerPage;
// လုံလုံခြုံခြုံကြားဖြတ် strings,ဇာတ်ကောင်များ၏ခြင်းကိုရှောင်ကြဉ်ပါ
$paginated = mb_strcut($text, $start, $bytesPerPage, $encoding);
// paging ဒေတာကိုတည်ဆောက်
$totalPages = ceil($totalBytes / $bytesPerPage);
return [
'content' => $paginated,
'page' => $page,
'total_pages' => $totalPages
];
}
သင့်တွင်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသောဆောင်းပါးတပုဒ်ရှိပြီးအသုံးပြုသူအားစာဖတ်ခြင်းကိုရှေ့အဆုံးတွင်စာမျက်နှာဖြင့်ဖတ်လိုသည်ဆိုပါစို့။
$fullText = file_get_contents('https://gitbox.net/static/long_article.txt');
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$result = paginateText($fullText, $page);
// လက်ရှိစာမျက်နှာအကြောင်းအရာ output ကို
echo nl2br(htmlspecialchars($result['content']));
// Pagination Navigation
for ($i = 1; $i <= $result['total_pages']; $i++) {
echo "<a href=\"?page=$i\">1 ။ $i စာမျက်နှာ</a> ";
}
mb_structut () ကို အသုံးပြုသောအခါစာသား၏ encoding function ၏ encoding parameters တွေကိုနှင့်ကိုက်ညီကြောင်းသေချာပါစေ။
အကယ်. သင်သည် bytes အစားဇာတ်ကောင်အရေအတွက်ကို အခြေခံ. စာတိုကိုပြုလိုပါက MB_Substr () ကို သုံးသင့်သည်။
အမှန်တကယ်အသုံးပြုမှုတွင်အထူးသဖြင့်စာသားအကြောင်းအရာကြီးမားသည့်အခါ Cache Striesisties နှင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်လည်းလိုအပ်သည်။
MB_STRANCT () string pagination display ကိုအသုံးပြုခြင်းသည်စာသားအကြောင်းအရာများကိုလုပ်ဆောင်သောအခါ Account စွမ်းဆောင်ရည်နှင့် encoding security ကိုအသုံးပြုရန်နည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းမှတစ်ဆင့်၎င်းသည်အင်္ကျီများကြောင့်ဖြစ်ပေါ်လာသောအမှိုက်များကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုထိရောက်စွာတားဆီးနိုင်သည်။ ဤဆောင်းပါးသည်သင်၏စီမံကိန်းတွင်စာသားကြီးများပြ issues နာများကိုပိုမိုထိရောက်စွာကိုင်တွယ်ဖြေရှင်းရန်ဤဆောင်းပါးကသင့်အားကူညီပေးပါ။