A-AA+then

ช่วยด้วยค่ะ ใช้ฟังก์ชั่นตัดข้อความ HTML ตามความยาวที่กำหนด (UTF-

1,813
ใช้ฟังก์ชั่นตัดข้อความ HTML ตามความยาวที่กำหนด (UTF-8) ไม่ได้ค่ะ มันขึ้น Error
ฟังก์ชันตัวนี้ค่ะ
function truncate( $text , $length = 100 , $ending = '...' , $exact = true , $considerHtml = true )

Fatal error: Call to undefined function substr_utf8()
ทำงัยดีค่ะขอบคุณค่ะ

5 ความคิดเห็น

ลองนี่ไหม

if(strlen($rowb[1])>50) {
   $rowb[1] = substr($rowb[1],0,50)."...";
   }

เลข 50 คือจำนวนข้อความที่ต้องการให้แสดง

อย่าลืมเปลี่ยนตัวแปรให้ตรงกับของคุณด้วยนะ ตรง $rowb[1]  น่ะ
1

include function substr_utf8() เข้ามาหรือยังครับ function นี้ไปมีอยู่บน php นะครับเป็น function ที่สร้างขึ้นมาเอง ถ้าจะเรียกใช้ ก็ต้อง include เข้ามาก่อนนะครับ
2

ไม่พบ substr_utf8() ครับ
3

ปรกติแล้วผมใช้ mb_substr($text, 0, 50, 'utf-8');
4

ได้แล้วค่ะขอบคุณค่ะ ขาด function strlen_utf8 และ function substr_utf8 ไปอิอิ

// ตัดสตริงค์ utf8
function strlen_utf8( $str )
{
 $i = 0;
 $count = 0;
 $len = strlen( $str );
 while ( $i < $len )
 {
  $chr = ord( $str[$i] );
  $count++;
  $i++;
  if ( $i >= $len )
  {
   break;
  };
  if ( $chr & 0x80 )
  {
   $chr <<= 1;
   while ( $chr & 0x80 )
   {
    $i++;
    $chr <<= 1;
   };
  };
 };
 return $count;
};
function substr_utf8( $str, $from , $len )
{
    return preg_replace( '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
        '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
        '' , $str );
}


5
^