추억의 워드랩. UTF-8 버전. > Tip&Tech

본문 바로가기

Tip&Tech

추억의 워드랩. UTF-8 버전.

페이지 정보

작성자 BiHon 댓글 0건 조회 3,362회 작성일 14-03-03 16:45

본문

추억의 워드랩. UTF-8 버전.
영문과 숫자 등은 1자리로, 한글 등은 2자리로 계산해 지정한 길이만큼 잘라주는 함수입니다.
80x25 텍스트 화면 구성에 사용…. 고정폭 글꼴(굴림체, 돋움체 등)로 확인해보세요.
────────────────────────────────────────
<?php
function utf8_wrap($str,$len=80)
{
    $cnt = preg_match_all('/./u',$str,$m);
    $result = array($k=0=>'');
    for($i=$p=0;$i<$cnt;$i++)
    {
        $l = strlen($c=$m[0][$i])==1 ? 1 : 2;
        if ( $p+$l<=$len ) { $p+=$l; $result[$k].=$c; }
        else { $p=$l; $result[++$k]=$c; }
    }
    return $result;
}
var_export(utf8_wrap('동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세. 무궁화 삼천리 화려강산 대한 사람, 대한으로 길이 보전하세'));
────────────────────────────────────────
실행 결과
array (
  0 => '동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세. 무궁화 삼천리 ',
  1 => '화려강산 대한 사람, 대한으로 길이 보전하세',
)

댓글목록

등록된 댓글이 없습니다.

회원로그인


Copyright © 1998~2019 DreamPHP.com All rights reserved.