လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စာသားများပါ 0 င်မှုများကိုလွယ်ကူချောမွေ့စေရန် string pagination display ကိုအကောင်အထည်ဖော်ရန် MB_Strcut function ကိုအသုံးပြုနည်း။

စာသားများပါ 0 င်မှုများကိုလွယ်ကူချောမွေ့စေရန် string pagination display ကိုအကောင်အထည်ဖော်ရန် MB_Strcut function ကိုအသုံးပြုနည်း။

gitbox 2025-05-26

ဘာသာစကားမျိုးစုံပါ 0 င်သောစာလုံးကြီးများပါ 0 င်သည့်စာသားကြီးများကိုလုပ်ဆောင်သောအခါ PHP ၏ string function သည် Multi-byte encoding ကိုမပံ့ပိုးပါစေ။ အထူးသဖြင့်စာသား၏ကြီးမားသောစာသားကိုပြသရန်လိုအပ်သည့်နေရာများတွင် strings များကိုပိုမိုလုံခြုံစွာကြားဖြတ်လေ့လာခြင်းသည်အဓိကပြ issue နာဖြစ်လာနိုင်သည်။ ဤဆောင်းပါးသည် MB_Strcut function ကို အသုံးပြု. String Pagination display ကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်,

အဘယ်ကြောင့် substrints အစား mb_strcut ကိုရွေးချယ်?

Substrict () PHP တွင်ဘုံ string truning function ကိုဖြစ်သော်လည်း၎င်းကို bytes မှပြုလုပ်သည်။ အကယ်. စာသားတွင်တရုတ်, ဂျပန်, ဂျပန်သို့မဟုတ်ကိုရီးယား, Substrch () ကဲ့သို့သော byte အက္ခရာများပါ 0 င်ပါက, ဆန့်ကျင်ဘက်အနေဖြင့် MB_Strcut () သည် MIB_STRCRT () သည် Multibyte ဇာတ်ကောင်အစုံများအတွက်ဒီဇိုင်းပြုလုပ်ထားသော function တစ်ခုဖြစ်သည်။

MB_StrCTCT 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 () နှင့်ကွဲပြားခြားနားသည်

string ကို paging display ကိုအကောင်အထည်ဖော်ရန်စိတ်ကူးများ

  1. 1000 bytes ကဲ့သို့သောစာမျက်နှာတစ်ခုချင်းစီတွင်ဖော်ပြထားသော bytes အများဆုံးအရေအတွက်ကိုသတ်မှတ်သည်။

  2. လက်ရှိစာမျက်နှာနံပါတ်နှင့်သက်ဆိုင်ရာစာသားကိုကြားဖြတ်ရန် mb_struccut () ကို သုံးပါ။

  3. 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 နာများကိုပိုမိုထိရောက်စွာကိုင်တွယ်ဖြေရှင်းရန်ဤဆောင်းပါးကသင့်အားကူညီပေးပါ။