PHP : จัดการ string ภาษาไทย
ปัญหาการตัดคำในภาษาไทย
ปัญหาของผมเกิดจากเมื่อต้องการแสดงข้อความภาษาไทยบางส่วนแล้วส่วนสุดท้ายจะแสดงเป็นจุดสีดำหรือภาษาต่างดาวอะไรก็แล้วแต่
จึงต้องหาวิธีแก้ไข จึงพบว่าเมื่อมีการใช้คำภาษาไทยจำเป็นต้องใช้คำส่ง string เพิ่มเติม คือ mb_strlen(), และ mb_substr()
print mb_strlen("ฟ้า","utf-8") . "<br />";
print strlen("ฟ้า") . "<br /><br />";
print mb_strlen("ก","utf-8") . "<br />";
print strlen("ก") . "<br /><br />";
print mb_strlen("a","utf-8") . "<br />";
print strlen("a") . "<br /><br />";
ผลลัพท์ที่ได้คือ
3
9
1
3
1
1
9
1
3
1
1
นั่นหมายถึงว่าตัวอักษรภาษาไทย หากไม่ใช่ mb_ ก็จะได้ความยาวเป็น 3 เท่าของอักษรปกติ
จากข้อสรุปดังกล่าวก็สามารถนำไปประยุกต์ได้ครับ เช่น
<?php
$str = "สยามโฟกัส ดอท คอม";
if(mb_strlen($str,"utf-8")>9){
print mb_substr($str,0,9,"utf-8");
}
?>
ผลลัพท์ที่ได้คือ
สยามโฟกัส
ลองเอาไปใช้ดูนะครับ
มาเป็นเพื่อนกันครับ บนช่องทาง Social ด้านล่างนี้ครับ
--------------------------► LINE@ : @siamfocus.com
► Facebook : fanpage.siamfocus
► Twitter (X) : siamfocus
► Linkedin : taam-siamfocus
► Instagram : iamtaam
► Youtube : SiAMFOCUS
► Tiktok : @taamsiamfocus
--------------------------