หน้า 1 จากทั้งหมด 1

ตัดข้อความขึ้นบรรทัดใหม่ UFT8 wordwrap ตามจำนวนข้อความ

โพสต์แล้ว: 25/07/2012 6:10 pm
โดย mindphp
ตัดข้อความขึ้นบรรทัดใหม่ UFT8 wordwrap ตามจำนวนข้อความ
ปกติ wordwrap() ใช้ตัดข้อความตามช่วงที่ต้องการ โดยไม่ตัดกลางข้อความ คือจะนับและเจอช่องว่าแล้วค่อยตัด แต่จะมีปัญหา กับ ข้อความที่เป็น UTF8
ต้องเขียน function นี้ขึ้นมาใช้แทน

โค้ด: เลือกทั้งหมด

function utf8_wordwrap($string, $width=75, $break="\n", $cut=false)
{
  if($cut) {
    // Match anything 1 to $width chars long followed by whitespace or EOS,
    // otherwise match anything $width chars long
    $search = '/(.{1,'.$width.'})(?:\s|$)|(.{'.$width.'})/uS';
    $replace = '$1$2'.$break;
  } else {
    // Anchor the beginning of the pattern with a lookahead
    // to avoid crazy backtracking when words are longer than $width
    $pattern = '/(?=\s)(.{1,'.$width.'})(?:\s|$)/uS';
    $replace = '$1'.$break;
  }
  return preg_replace($search, $replace, $string);
} 
function นี้มาจาก phpBB3
:-D

Re: ตัดข้อความขึ้นบรรทัดใหม่ UFT8 wordwrap ตามจำนวนข้อความ

โพสต์แล้ว: 28/07/2012 5:16 pm
โดย mebby
ขอบคุณสำหรับการแบ่งปันความรู้ดีๆค่ะ

Re: ตัดข้อความขึ้นบรรทัดใหม่ UFT8 wordwrap ตามจำนวนข้อความ

โพสต์แล้ว: 07/01/2016 11:29 am
โดย teaserz
กำลังมีปัญหาพอดีเลยครับ

ขอบคุณมากๆครับ :like: