လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဟီဝါဗီးယန်းဘာသာစကားဖြင့်ပေါင်းစပ်ထားသောစာလုံးများကိုကိုင်တွယ်ရန်ဟေဗြဲအက္ခရာများကိုကိုင်တွယ်ရန်ဟေဗဒိဗ် function ကိုမည်သို့အသုံးပြုရမည်နည်း။

ဟီဝါဗီးယန်းဘာသာစကားဖြင့်ပေါင်းစပ်ထားသောစာလုံးများကိုကိုင်တွယ်ရန်ဟေဗြဲအက္ခရာများကိုကိုင်တွယ်ရန်ဟေဗဒိဗ် function ကိုမည်သို့အသုံးပြုရမည်နည်း။

gitbox 2025-05-29

အထူးသဖြင့် PHP ပတ် 0 န်းကျင်တွင် Web output ကိုပြုလုပ်သောအခါ developer များကရှုပ်ထွေးသောဇာတ်ကောင်ပြသသည့်အမိန့်သို့မဟုတ်သရအက္ခရာများစသည့်ဒြပ်ပေါင်းများနှင့်ပုံမှန်မဟုတ်သောပြ problems နာများကြုံတွေ့ရနိုင်သည်။ PHP သည်ယရှေဒ္ဒပ်ဟုခေါ်သော function ကို Hebev () သည်ယုတ္တိအမိန့်မှ visual order rounds routing ည့်သည်များအဖြစ်ပြောင်းလဲရန်ရည်ရွယ်သည်။ ဤဆောင်းပါးသည်ဤပြ issue နာကိုနက်နက်နဲနဲလေ့လာပြီးဖြေရှင်းနည်းများပေးလိမ့်မည်။

1 ။ မိတ်ဆက်ရေးဆွဲခြင်း () function ကိုမိတ်ဆက်

PHP ၏ ချနေသော Function သည်ဟေဗြဲကြိုးများကိုယုတ္တိရှိသည့်အမှာစာအဖြစ်ပြောင်းလဲရန်အသုံးပြုသည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 string hebrev(string $hebrew_text, int $max_chars_per_line = 0)

ဤလုပ်ဆောင်မှုသည်ဟေဗြဲအကြောင်းအရာများကိုဘယ်ဘက်မှထွက်ရှိသည့် output ပတ် 0 န်းကျင်နှင့်အံဝင်ခွင်ကျဖြစ်ရန်ကြိုးပမ်းမှုများပြုလုပ်ရန်ကြိုးစားသည်။ သို့သော်ဤလုပ်ဆောင်မှုနည်းလမ်းသည်အတော်အတန်အစစ်အမှန်ဖြစ်ပြီး Unicode ၏အင်္ဂါရပ်များအားလုံးကိုအပြည့်အဝမထောက်ပံ့နိုင်ပါ။

2 ။ ဒြပ်ပေါင်းများဇာတ်ကောင်ပြ problems နာများ၏အသေးစိတ်ရှင်းပြချက်

ဟီဘရူး, ဘုံဒြပ်ပေါင်းများတွင်ဗျည်းအက္ခရာများပါ 0 င်သောအက္ခရာများပါ 0 င်သောသရအက္ခရာများပါ 0 င်သည်။ ဤပေါင်းစပ်မှုများသည်ယူနီကုတ်တွင် "diacritical marks" ကို အသုံးပြု. "diacritical marks" ကို အသုံးပြု. အကောင်အထည်ဖော်သည်။ သို့သော်ထို ချိန်း ချက်ခြင်းသည်ဤ unicode ပေါင်းစပ်ယန္တရားများကိုနားမလည်သောကြောင့်,

  • ဒြပ်ပေါင်းများကိုစိတ်ဓာတ်ကျခြင်း,

  • ပေါင်းစပ်ဇာတ်ကောင်များ၏အမိန့်ကိုပြောင်းလဲ;

  • directionality ၏မမှန်ကန်ကြောင်းပြောင်းလဲခြင်း, စာသားတစ်စိတ်တစ်ပိုင်းပြောင်းဆိုမှုဖြစ်စေ,

ဥပမာအားဖြင့်:

 $text = "???????"; // “Shalom”,Nikud သရသံပါရှိသည်
echo hebrev($text);

output ကိုလုံးဝဖတ်လို့မရနိုင်ပါ, သို့မဟုတ်သရအက်ခရာသင်္ကေတများရွေ့လျားနေသည်။

3 ။ နည်းလမ်းများနှင့်အခြားနည်းလမ်းများရင်ဆိုင်ဖြေရှင်းခြင်း

1 ။ ဟေဗဒမ်ကိုအသုံးပြုခြင်းကိုရှောင်ကြဉ်ပါ။

အများဆုံးအကြံပြုထားသည့်နည်းလမ်းမှာ ဟေဗဒပ် () လုံးဝ () ကိုလုံးဝမသုံးရန်နှင့်ပိုမိုခေတ်မီသောစာသားထုတ်ယူခြင်းစာကြည့်တိုက်များအဖြစ်အသုံးပြုသည်။

  • IntLCHAR (PHP Intl Extension) - directability ကိုမှန်ကန်စွာကိုင်တွယ်ရန် Unicode အထောက်အပံ့ကိုပေးပါ။

  • Mbstring : ဇာတ်ကောင်များကိုဖြတ်ခြင်းမခံရစေရန် Multibyte string ကိုပြုပြင်ခြင်းအတွက်အသုံးပြုသည်။

  • RTL Support HTML / CSS အဆင့်တွင် - ခေတ်သစ် browser များသည် thros ည့်သည်ကိုယ်နှိုက်ကိုပြုပြင်မွမ်းမံခြင်းမရှိဘဲ CSS မှတဆင့်စာသား onientation ကိုကောင်းစွာထိန်းချုပ်နိုင်သည်။

 $text = "???????";
echo '<div dir="rtl" style="font-family: sans-serif;">' . htmlspecialchars($text, ENT_QUOTES, 'UTF-8') . '</div>';

ဤနည်းအားဖြင့် HTML နှင့် CSS မှတဆင့်ယူနီကုတ်သောစာလုံးများ၏သမာဓိကိုထိန်းသိမ်းထားပြီးလုပ်ဆောင်ချက် 0 င်ရောက်စွက်ဖက်မှုကိုရှောင်ရှားသည်။

2 ။ Hebev () ကိုအသုံးပြုရပါမည်ဆိုလျှင်ဇာတ်ကောင်ပုံမှန်ဖျော်ဖြေသည်

ရှားရှားပါးပါးဖြစ်ရပ်များတွင် Hebev () သည် လိုအပ်ပါသည်။ စာသားကိုပထမ ဦး စွာ NFC ပုံမှန်ပြုလုပ်ခြင်းကိုပြုလုပ်ရန်အကြံပြုသည်။

 $text = Normalizer::normalize("???????", Normalizer::FORM_C);
echo hebrev($text);

ဤအဆင့်သည်ဇာတ်ကောင်ရှုပ်ထွေးမှုများကိုအတိုင်းအတာတစ်ခုအထိအတိုင်းအတာတစ်ခုအထိလျှော့ချနိုင်သည်, သို့သော်၎င်းသည်ပြ problems နာအားလုံးကိုမဖြေရှင်းနိုင်ပါ။ ပုံမှန် PHP သည် PHP ကို ​​Entl extensions များကိုဖွင့်ရန်လိုအပ်သည်။

3 ။ encoding နှင့် output ပတ် 0 န်းကျင်၏ font ပံ့ပိုးမှုစင်တာကိုစစ်ဆေးပါ

တစ်ခါတစ်ရံပြနာသည် PHP ကိုယ်တိုင်မဟုတ်ဘဲ output terminal သို့မဟုတ် font support တွင်ဖြစ်သည်။ သေချာအောင်လုပ်ပါ

  • စာမျက်နှာ encoding ကို UTF-8 ကိုသတ်မှတ်သည်။

  • ဟေဗြဲနှင့် Nikudian သင်္ကေတများကိုအထောက်အကူပြုသောဖောင့်များကိုသုံးပါ (ဥပမာ noto sans ူမန်မိာိုမား),

  • Content-type: type type: text / html; Charset = UTF-8 ;

4 ။ ဆာဗာနှင့် 0 န်ဆောင်မှုအကြားလုပ်အားကိုခွဲဝေပါ

ပိုမိုအဆင့်မြင့်သောစိတ်ကူးတစ်ခုမှာ server သည် client client (browser) သို့လမ်းညွှန်ချက်ဖြင့်ထွက်ခွာရန်ဖြစ်သည်။ ဥပမာအားဖြင့်:

 $text = "???????";
$url = "https://gitbox.net/example.php?text=" . urlencode($text);

ထို့နောက် RTL Page တွင် RTL PYSETTTTINGS ကိုဆာဗာဘက်တွင်အမိန့်ကိုပြောင်းလဲမည့်အစား RTL PYSETTTINGTTING ကိုလုပ်ဆောင်ပါ။

4 ။ နိဂုံးချုပ်

Hebev () function သည် rtl စာသားကိုရိုးရှင်းသောပတ်ဝန်းကျင်ရှိ RTL စာသားကိုကိုင်တွယ်နိုင်သော်လည်း, ခေတ်သစ် PHP ဖွံ့ဖြိုးတိုးတက်မှုသည်မလိုအပ်သောအဖျက်အယွင်းများကိုမလိုအပ်ပါ။ တိုတောင်းသောအနေဖြင့် Unicode ဖွဲ့စည်းပုံကိုထိန်းသိမ်းထားခြင်းနှင့်ရှုပ်ထွေးသောဘာသာစကားစာသားများနှင့်မျက်နှာချင်းဆိုင်မှန်ကန်သောလမ်းညွှန်အမှတ်အသားများကိုအသုံးပြုခြင်းသည်အကြောင်းအရာပြီးဆုံးခြင်းနှင့်အသုံးပြုသူအတွေ့အကြုံသည်တသမတ်တည်းကိုလိုက်နာရန်သော့ချက်ဖြစ်သည်။