5/30/2558

แก้ปัญหาการตัด และนับ คำภาษาไทยใน PHP ด้วย iconv_strlen และ iconv_substr


ในภาษา PHP  เราใช้ function substr() เพื่อการตัดคำใน string และ function strlen()  เพื่อการหาจำนวนตัวอักษรใน string แต่เมื่อลองใช้ function  นี้กับภาษาไทยจะพบว่ามีปัญหา เราสามารถใช้


  • function  iconv_strlen เพื่อนับจำนวนตัวอักษร เช่น 
          echo  iconv_strlen("สวัสดี","UTF-8");  ผลลัพธ์ที่ได้คือ 6
  • function iconv_substr เพื่อตัด string เช่น 
           echo   iconv_substr("สวัสดี",1,2,"UTF-8");

          ผลลัพธ์ที่ได้คือ  "วั" เพราะ เริ่มต้นตัดอักษรตัวที่ 1 ( อักษรตัวแรกคือ 'ส' นับเป็นตัวที่ 0  )

จำไว้ว่า หากเราต้องการนับตัวอักษรภาษาไทย  หรือ ตัดคำภาษาไทยโดยใช้ PHP ให้ใช้ function iconv_strlen และ function iconv_substr เพื่อไม่ให้เกิดปัญหา