แก้ปัญหา PHP substr ตัดข้อความภาษาไทยแล้วกลายเป็นภาษาต่างดาว

แชร์ประสบการณ์เขียนโค้ด php + Mysql เล็ก ๆ น้อย ๆ เผื่อจะเป็นประโยชน์กับใครสักคน...

<?=substr("ทดสอบ ทดสอบ ทดสอบ ทดสอบ ทดสอบ",0,50)."...";?>


คิดว่าหลาย ๆ คนคงอาจจะเคยได้พบได้เจอกันมาบ้างแล้ว และอาจจะมีอีกหลาย ๆ คนที่ยังไม่เจอกับตัวเอง และต้องเจอแน่นอนในอนาคต ผมเองก็เจอมาแล้วเหมือนกัน บอกตามตรงเลย ว่า "งง" มาก ๆ ว่าทำไมหว่า เราก็ทำถูกต้องทุกอย่างแล้ว แต่ทำไมผลที่ได้ออกมามัน ไม่ถูกต้องตรงตามความต้องการซะงั้น วันนี้ก็เลยเอามาฝากกัน และ เก็บไว้ดูเองในอนาคตเผื่อหาในเครื่องไม่เจอ :)

****************************************

กรณีไหนบ้างที่จะได้ใช้ 
      
  1. หัวข้อยาวเกินไป ต้องการตัดให้สั้นลง และตามด้วย ... เพื่อให้หัวข้อไม่ยาวจนขึ้นบรรทัดใหม่ ทำให้เว็บดูรถ และไม่สวยงาม
  2. ต้องการคำบรรยายเพิ่มเติมใต้หัวข้อบทความ โดยตัดเอารายละเอียดบทความมาแสดงข้างใต้หัวข้อ เพื่อเกริ่นนำ ทำให้คนที่สนใจหัวข้อนั้น ๆ อยู่ รู้ว่าข้างในบทความนี้ มีอะไรน่าสนใจบ้าง ทำให้น่าคลิก น่าอ่านต่อเพิ่มขึ้นไปอีก

วิธีแก้ไขก็ตามนี้เลยครับ

ใช้ฟังก์ iconv_substr(); ครับ การใช้งานก็เหมือนกับฟังก์ชั่น substr(); ทุกประการ

เพีบงแต่จะมีเพิ่มเข้ามาอีกนิดหน่อย ตามตัวอย่างด้านล่างนี้เลขครับ

<?=iconv_substr("ข้อความของฉันที่จะตัด",0,320, "UTF-8")."...";?>

ลองเอาเทคนิคการตัดข้อความไปใช้ดูนะครับ บทความของเราจะดูน่าสนใจมากยิ่งขึ้น และเว็บจะไม่รก บรรทัดจะไม่เกินอีกต่อไป


My Article
แนะนำเว็บสูตรหวยออนไลน์ ดูฟรี