แก้ปัญหา PHP substr ตัดข้อความภาษาไทยแล้วกลายเป็นภาษาต่างดาว
12
ส.ค.
ส.ค.
2020-08-12 12:10:35
1821
siamweb2u
<?=substr("ทดสอบ ทดสอบ ทดสอบ ทดสอบ ทดสอบ",0,50)."...";?>
วิธีแก้ไขก็ตามนี้เลยครับ
คิดว่าหลาย ๆ คนคงอาจจะเคยได้พบได้เจอกันมาบ้างแล้ว และอาจจะมีอีกหลาย ๆ คนที่ยังไม่เจอกับตัวเอง และต้องเจอแน่นอนในอนาคต ผมเองก็เจอมาแล้วเหมือนกัน บอกตามตรงเลย ว่า "งง" มาก ๆ ว่าทำไมหว่า เราก็ทำถูกต้องทุกอย่างแล้ว แต่ทำไมผลที่ได้ออกมามัน ไม่ถูกต้องตรงตามความต้องการซะงั้น วันนี้ก็เลยเอามาฝากกัน และ เก็บไว้ดูเองในอนาคตเผื่อหาในเครื่องไม่เจอ
****************************************
กรณีไหนบ้างที่จะได้ใช้
****************************************
กรณีไหนบ้างที่จะได้ใช้
- หัวข้อยาวเกินไป ต้องการตัดให้สั้นลง และตามด้วย ... เพื่อให้หัวข้อไม่ยาวจนขึ้นบรรทัดใหม่ ทำให้เว็บดูรถ และไม่สวยงาม
- ต้องการคำบรรยายเพิ่มเติมใต้หัวข้อบทความ โดยตัดเอารายละเอียดบทความมาแสดงข้างใต้หัวข้อ เพื่อเกริ่นนำ ทำให้คนที่สนใจหัวข้อนั้น ๆ อยู่ รู้ว่าข้างในบทความนี้ มีอะไรน่าสนใจบ้าง ทำให้น่าคลิก น่าอ่านต่อเพิ่มขึ้นไปอีก
วิธีแก้ไขก็ตามนี้เลยครับ
ใช้ฟังก์ iconv_substr(); ครับ การใช้งานก็เหมือนกับฟังก์ชั่น substr(); ทุกประการ
เพีบงแต่จะมีเพิ่มเข้ามาอีกนิดหน่อย ตามตัวอย่างด้านล่างนี้เลขครับ
<?=iconv_substr("ข้อความของฉันที่จะตัด",0,320, "UTF-8")."...";?>
ลองเอาเทคนิคการตัดข้อความไปใช้ดูนะครับ บทความของเราจะดูน่าสนใจมากยิ่งขึ้น และเว็บจะไม่รก บรรทัดจะไม่เกินอีกต่อไป