ข้อมูลต่อไปนี้ ผมไปเจอมาจากเว็บไซต์ 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