วันพุธที่ 15 กุมภาพันธ์ พ.ศ. 2555

Php-แก้ไขการตัดข้อความด้วย substr แล้วมีรูปสี่เหลี่ยม


ใช้ตัดข้อความจากฐานข้อมูลที่ต้องการแสดงบางส่วนเช่น 30 ตัวอักษร กรณีบางครั้งภาษาไทยที่ตัดจากฐานข้อมูล จะแสดงเป็นรูปสี่เหลี่ยม ใช้ฟังก์ชันนี่แทน substr ใน php แก้ปัญหาที่เกิดได้

โค๊ด:

<?phpfunction substr_utf8$str$start_p $len_p){
 return trim(strip_tags(preg_replace'#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$start_p.'}'.


 '((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$len_p.'}).*#s',
  '$1' $str )));
}
// การใช้งาน
// $start_p คือตำแหน่งเริ่มต้นตัดข้อความ
// $len_p คือจำนวนตัวอักษรที่ต้องการแสดง
// $data="ข้อความทดสอบ ข้อความทดสอบ ข้อความทดสอบ ข้อความทดสอบข้อความทดสอบ ";
// echo substr($data,0,30);?>