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

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

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

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

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

โพสต์โดย mindphp » 25/07/2012 6:10 pm

ตัดข้อความขึ้นบรรทัดใหม่ 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
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

mebby
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 28/07/2012 5:03 pm
ติดต่อ:

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

โพสต์โดย mebby » 28/07/2012 5:16 pm

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

teaserz

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

โพสต์โดย teaserz » 07/01/2016 11:29 am

กำลังมีปัญหาพอดีเลยครับ

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


ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 4 และ บุคคลทั่วไป 0 ท่าน