ការ​កាត់​ពាក្យ​ខ្មែរ​នៅ​ក្នុង Excerpt របស់ WordPress

មាន​ពេល​ខ្លះ អ្នក​ធ្វើ​វេបសាយ​តាម WordPress ត្រូវ​ការ​ប្រើប្រាស់ the_excerpt()get_the_excerpt() ជាមួយ​នឹង​អត្ថបទ​ខ្មែរ។ ប៉ុន្តែ​អ្វីៗ​វា​មិន​បាន​ដូច​ការ​រំពឹង​ទុក​របស់​យើង​ទេ។ អនុគមន៍​ទាំង​ពីរ​នេះ​វា​នឹង​កាត់​ឬ​តម្រឹម​យក​ពាក្យ​ដោយ​ផ្អែក​លើ​លក្ខខណ្ឌ​ពីរ (មើល​កូដ​ដើម)៖

  • ប្រសិន​បើ​មាន​ការ​កំណត់​នៅ​ក្នុង​ឯកសារ​បកប្រែ​ថា​រាប់​ពាក្យ​ដោយ​ផ្អែក​លើ characters (ចំពោះ​ភាសា​ណា​ដែល​មួយ​តួ​អក្សរ​ស្មើ​មួយ​ពាក្យ) នោះ​ការ​កាត់​ពាក្យ​ក៏​នឹង​កាត់​តាម​តួអក្សរ។
  • ប្រសិន​បើ​ផ្អែក​លើ words នោះ​វា​នឹង​រាប់​តាម​ពាក្យ ដោយ​មួយ​ពាក្យៗ​ញែក​គ្នា​ដោយ​ដំណកឃ្លា។ ហើយ​នេះ​ជា​លំនាំដើម​នៅ​ក្នុង WordPress។

ជា​ទូទៅ អ្វី​ដែល​ខ្ញុំ​ធ្លាប់​ធ្វើ​គឺ​កែ​សម្រួល​អនុគមន៍​នោះ​ដោយ​កាត់​តាម​តួអក្សរ ប៉ុន្តែ​វា​ហាក់​ដូចជា​មិន​ទំនង​ចំពោះ​ភាសា​ខ្មែរ។ ដូច្នេះ​ហើយ​ចុងក្រោយ​ខ្ញុំ​ក៏​មក​ដល់​ចំណុច​មួយ​នេះ គឺ​កែសម្រួល​អនុគមន៍​នោះ​ឲ្យ​ចាប់​ពាក្យ​ខ្មែរ​ដោយ​ផ្អែក​លើ​ចន្លោះ​មិន​ឃើញ តាម​វិធីសាស្ត្រ regular expression។

នៅ​ក្នុង​នេះ អ្វី​ដែល​យើង​ចាំបាច់​ត្រូវ​ធ្វើ​នោះ​គឺ​លុប​អនុគមន៍ callback wp_trim_excerpt ដើម​របស់ WordPress ចេញ​ពី​បញ្ជី។ រួច​ហើយ​យើង​បង្កើត​អនុគមន៍ callback ថ្មី​មួយ​ទៀត​ដោយ​ផ្អែក​លើ​អនុគមន៍​ដើម ប៉ុន្តែ​ផ្លាស់ប្ដូរ​វិធី​កាត់​ពាក្យ។ អ្នក​អាច​យក​កូដ​នេះ​ទៅ​ប្រើ​ផ្ទាល់​នៅ​ក្នុង​ឯកសារ functions.php នៅ​ក្នុង​ពុម្ពរូបរាង។ នេះ​គ្រាន់​តែ​ជា​កូដ​បឋម​ប៉ុណ្ណោះ ហើយ​ប្រសិន​បើ​អ្នក​ត្រូវការ​កែ​អ្វី​ទៀត ក៏​អាច​យក​ទៅ​ធ្វើ​តាម​សប្បាយ។

អ្នក​ត្រូវ​ចាំ​ថា អត្ថបទ​នោះ​ត្រូវតែ​មាន​ប្រើ “ចន្លោះ​មិន​ឃើញ”។

Pattern ដែល​ខ្ញុំ​ប្រើ​នោះ​គឺ​ដើម្បី​ចាប់​គ្រប់​សញ្ញា​និង​វណ្ណយុត្តិ, តួ​អក្សរ​អង់គ្លេស, លេខ​ឡាតាំង, និង​អក្សរ​ខ្មែរ​ចាប់​ពី​យូនីកូដ \u1780 ដល់ \u17FF រហូត​ដល់​ត្រឹម ចន្លោះ​មិន​ឃើញ (\u200B), ដំណកឃ្លា, សញ្ញា​ខណ្ឌ (\u17D4), សញ្ញា​ខណ្ឌ​ចប់ (​​\u17D5)។

វិធី​មួយ​ទៀត​កំពុង​ពិចារណា

នៅ​មាន​វិធីសាស្ត្រ​មួយ​ទៀត​ដែល​ខ្ញុំ​គិត​ឃើញ គឺ​ត្រូវ​ពឹងផ្អែក​លើ​ផ្នែក​បន្ថែម​របស់ PHP គឺ php-intl ដែល​ជា wrapper លើ​បណ្ណាល័យ ICU។ ប៉ុន្តែ​អ្វី​ដែល​ខ្ញុំ​ខ្វល់​នោះ​គឺ មិន​ប្រាកដ​ថា​រាល់​អ្នក​ដំឡើង WordPress ប្រើ​ផ្ទាល់​ខ្លួន​នោះ​មាន VPS ផ្ទាល់​ខ្លួន​ឫឥត? ពីព្រោះ​ខ្ញុំ​មិន​ប្រាកដ​ថា​គ្រប់ Shared Hosting គេ​បាន​ដំឡើង​ផ្នែក​បន្ថែម​នោះ​និង​បណ្ណាល័យ ICU ដែរ​ឬ​អត់​ទេ។

ការ​ប្រើប្រាស់​បណ្ណាល័យ ICU វា​ងាយ​ស្រួល​ត្រង់​ថា​ការ​កាត់​ពាក្យ​អាច​ប្រព្រឹត្តិ​ទៅ​បាន​ដោយ​ផ្អែក​លើ​វចនានុក្រម ហើយ​វា​មាន​មុខងារ​ច្រើន ប៉ុន្តែ​យើង​ប្រើ​តែ​ការ​ចាប់​ពាក្យ​ប៉ុណ្ណោះ។

វា​អាច​នឹង​មាន​ល្បឿន​យឺត ហើយ​ការ​កាត់​ពាក្យ​ក៏​អាច​នឹង​ភាន់​មិន​ស្គាល់​ពាក្យ ប្រសិនបើ​អ្នក​សរសេរ​ពាក្យ​ខុស ត្បិត​អី​វា​ផ្អែក​លើ​វចនានុក្រម​ដែល​ខ្ញុំ​បាន​លើកឡើង​ពី​ខាង​លើ។ តែ​យ៉ាង​ណា នឹង​សាកល្បង​លេងៗ​ថា​វា​យ៉ាង​ម៉េច​ទៅ​វិញ។