ข้อมูลต่อไปนี้ ผมไปเจอมาจากเว็บไซต์ Thaicreate.com ซึ่งเป็นเครดิตของคุณ Peter Sticker ได้โพสเอาไว้ ผมได้เอามาใช้งานกับงานจริงเห็นว่ามีประโยชน์มาก และคิดว่าคงเอามาใช้บ่อยๆ เลยขอเอามาโพสเก็บไว้ เผื่อวันไหนใช้งานจะได้สะดวก และหากมีการปรับปรุง จะได้ใส่ไว้ที่เดียวกันครับ
ฟังก์ชั่น getMBStrSplit()
ฟังก์ชั่นสำหรับแบ่งข้อความเป็น Array (ปกติใช้ str_split() แต่สำหรับภาษาไทยแบบ UTF-8 จะมีปัญหาการแบ่ง)
// Convert a string to an array with multibyte string function getMBStrSplit($string, $split_length = 1){ mb_internal_encoding('UTF-8'); mb_regex_encoding('UTF-8'); $split_length = ($split_length <= 0) ? 1 : $split_length; $mb_strlen = mb_strlen($string, 'utf-8'); $array = array(); $i = 0; while($i < $mb_strlen) { $array[] = mb_substr($string, $i, $split_length); $i = $i+$split_length; } return $array; }
รายละเอียด
array getMBStrSplit ( string $string [, int $split_length = 1 ] )
string : ข้อความที่ต้องการนำมาแบ่ง
split_length : จำนวนความยาวของตัวอักษรที่จะแบ่ง (ค่าปริยายคือ 1)
ตัวอย่างการใช้ getMBStrSplit()
$str = "สวัสดีชาวโลก"; $arr1 = getMBStrSplit($str); $arr2 = getMBStrSplit($str, 3); print_r($arr1); print_r($arr2); หรือ $arrDescription = getMBStrSplit($overview, 150); echo $arrDescription[0];
ลองเอาไปใช้งานกันดูครับ ชอบมาก ขอบคุณคุณ Peter Sticker จาก Thaicreate อีกทีครับ
Comments