การตัดข้อความตามความยาวที่กำหนด สำหรับ UTF-8
การตัดข้อความตามความยาวที่กำหนดบน PHP ปกติแล้วเราใช้ฟังก์ชั่น substr ของ PHP ครับ แต่ฟังก์ชั่นนี้มันทำงานกับ Ansi เท่านั้น ไม่สามารถทำงานกับ UTF-8 ได้ ถ้านำมาใช้กับ UTF-8 ภาษาอังกฤษจะถูกต้องดี แต่ถ้าเป็นภาษาไทยแล้วอาจเหลือตัวสี่เหลี่ยมแถมกลับมาได้
ให้ใช้ฟังกชั่น substr_utf8 แทนครับ
ฟังก์ชั่นนี้มีรูปแบบและวิธีการใช้เหมือนกับ substr ทุกประการครับ
ให้ใช้ฟังกชั่น substr_utf8 แทนครับ
function substr_utf8( $str, $from , $len )
{
return preg_replace( '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
'' , $str );
};
ฟังก์ชั่นนี้มีรูปแบบและวิธีการใช้เหมือนกับ substr ทุกประการครับ