'php 글자 자르기'에 해당되는 글 2건

  1. 2013.12.12 php 한글 문자열 자르기
  2. 2013.12.11 php 한글을 포함한 문자열 자르기 함수 mb_strcut()
프로그램/php2013. 12. 12. 18:07

<?
// 문자열 자르기
function cut_str($str, $len, $suffix = '')
{
    $str = strip_tags(stripslashes(trim($str)));

if(strlen($str) > $len)
{
    $cnt = 0;
    $len2 = $len;
    $str2 = '';

for($i = 0; $i < $len2 ; $i++)
{
    $cut = ord(substr($str, $i, 1));

   if($cut > 127)
   {
       $cnt++;
       $str2 .= substr($str, $i, 2);
       $i++;
       $len2++;
   }

   else
   {
       $str2 .= substr($str, $i, 1);
   }

}

}

return $str = $str2 . $suffix;

}


// 사용 예
$ary[] = "홍길동이다";
$ary[] = "honghong";
$ary[] = "11길동01";
$ary[] = "길1동2이3";
$ary[] = "길12동2이3";
$ary[] = "길동122이3";
$ary[] = "abcde";
$ary[] = "고두";
$ary[] = "12341324고두";
$ary[] = "\'\*\":;#!";
$ary[] = "\"홍길동\"";


foreach($ary as $k => $v)
{
    echo "<br />" . $v . " / " . cut_str($v, 3, '..');
}
?>

 

 

한글 문자열 자르기 더보기>

Posted by 은둔고수
프로그램/php2013. 12. 11. 18:44

한글을 포함한 문자열의 일부를 추출할 때,
2바이트 문자의 한바이트만이 들어올 수 있는 문제의 해결은
PHP에서 지원하는 Multibyte String 관련 함수를 사용하는 것이 가장 간단하다.

 

string mb_strcut ( string $str , int $start [, int $length [, string $encoding ]] )

- $start 의 위치가 2바이트문자의 두번째 바이트에 위치하고 있으면 한 바이트 앞에서 시작함.
- $length 만큼 자르고, 마지막 바이트가 2바이트 문자의 첫번째 바이트이면 그 앞에서 자른다.

 

예제)
echo mb_strcut('테스트', 0, 3, 'euc-kr');
==> 테

 

* PHP 설치시 --enable-mbstring 옵션을 주어야 함.

 

한글 문자열 자르기 더보기>

Posted by 은둔고수