หน้าหลัก » ภาษาพีเอชพี (PHP) » PHP แก้ปัญหาการตัดข้อความภาษาไทย ที่กลายเป็นภาษาต่างดาว

PHP แก้ปัญหาการตัดข้อความภาษาไทย ที่กลายเป็นภาษาต่างดาว




สำหรับการตัดข้อความของภาษา PHP ส่วนใหญ่จะใช้ฟังก์ชั่น substr() ซึ่งถ้าใช้ในการตัดข้อความภาษาไทย ข้อความตัวสุดท้ายมักจะเป็นภาษาต่างดาว ดังนั้นเราจึงมีวิธีการตัดข้อความไม่ให้เป็นภาษาต่างดาว มีอยู่ 2 วิธี ดังนี้

  • วิธีที่ 1 ใช้ฟังก์ชั่น mb_substr()
  • วิธีที่ 2 ใช้ฟังก์ชั่น iconv_substr()

วิธีที่ 1 การใช้ฟังชั่น mb_substr() ในการตัดข้อความ

วิธีใช้

mb_substr($string, $start, $length, $encoding)

  • $string คือ ข้อความที่เราส่งเข้าไปในฟังก์ชั่นเพื่อทำการตัด
  • $start คือ จัดเริ่มต้นของการตัดข้อความ
  • $length คือ จำนวนตัวอักษรที่เราต้องการ
  • $encoding คือ การเข้ารหัสของตัวอักษร (ภาษาไทยจะใช้ UTF-8)

ตัวอย่างโค้ด :


echo substr("ทดสอบการตัดข้อความที่เป็นภาษาต่างดาว",0,35);
//ผลลัพธ์ : ทดสอบการตัด�

echo mb_substr("ทดสอบการตัดข้อความที่เป็นภาษาต่างดาว",0,35,'UTF-8');
//ผลลัพธ์ : ทดสอบการตัดข้อความที่เป็นภาษาต่างดา

วิธีที่ 2 การใช้ฟังชั่น iconv_substr() ในการตัดข้อความ

วิธีใช้

iconv_substr($string, $start, $length, $encoding)

  • $string คือ ข้อความที่เราส่งเข้าไปในฟังก์ชั่นเพื่อทำการตัด
  • $start คือ จัดเริ่มต้นของการตัดข้อความ
  • $length คือ จำนวนตัวอักษรที่เราต้องการ
  • $encoding คือ การเข้ารหัสของตัวอักษร (ภาษาไทยจะใช้ UTF-8)

ตัวอย่างโค้ด :


echo substr("ทดสอบการตัดข้อความที่เป็นภาษาต่างดาว",0,35);
//ผลลัพธ์ : ทดสอบการตัด�

echo iconv_substr("ทดสอบการตัดข้อความที่เป็นภาษาต่างดาว",0,35,'UTF-8');
//ผลลัพธ์ : ทดสอบการตัดข้อความที่เป็นภาษาต่างดา