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

PHP Result Center PHP Result Center เป็นหมวด ที่ไว้รวบรวม โปรแกรม Code php Javascript CSS CMS

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41228
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย 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
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
mebby
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 28/07/2012 5:03 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย mebby »

ขอบคุณสำหรับการแบ่งปันความรู้ดีๆค่ะ
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 3