개발-PHP

[함수] sms 발송등에서 80자씩 잘라서 배열로 리턴하는 함수 - utf-8

WEBKIKIS 2016. 3. 30. 20:56
반응형

[함수] sms 발송등에서 80자씩 잘라서 배열로 리턴하는 함수 - utf-8


사용법

$str = "테스트 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산 대한사람 대한으로 길이보전하세";

$arrs = utf8_strs($str,80);
print_r($arrs);




function utf8_strs($str, $len=80){
$strs = utf8_str_split($str, 1);
     $arrno = 0;
foreach($strs as $s){
$high = ord($s{0});
  if ($high < 0x80) $i += 1;
  else  $i += 2;       
$nowlen = $i%$len;
if($prelen>$nowlen) $arrno++;
$arrstr[$arrno] .= $s;
$prelen = $nowlen;
}
return $arrstr;
}   

 
 

function utf8_str_split($str='',$len=1){
    preg_match_all("/./u", $str, $arr);
    $arr = array_chunk($arr[0], $len);
    $arr = array_map('implode', $arr);
    return $arr;
}

?>


출처 phpschool

반응형