PHP UTF-8 문자열 길이 비교하여 자르는 함수 입니다.

 

완성형 한글 문자열 80바이트만 자를때 substr 함수를 사용 하면

완성형 한글의 경우 한글2byte,영어1byte로 구성되어 substr로 자르면

끝에 위치하는 문자는 운이 없을 경우 한글이 깨지는 경우를 겪곤 합니다.

 

완성형 한글로 인코딩된 문자열을 십진수로 변환하여

128 보다 작을경우 영문

128 보다 경우 한글로 해서 구별 할 수 있게 됩니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

아래 함수를 사용 하면 됩니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
function strcut_euckr($msg, $limit)
{
    $msg = substr($msg, 0, $limit);
 
    for ($i = $limit - 1; $i > 1; $i--)
    {   
        if (ord(substr($msg,$i,1)) < 128) break;
    }
 
    $msg = substr($msg, 0, $limit - ($limit - $i + 1) % 2);
 
    return $msg;
}

요즘 UTF-8로 세팅을 하여 자주 사용 하곤 하는데요 UTF-8일 경우에는 한글 코드

3byte로 이루어져 더욱더 사용 하기 어렵습니다.  그래서 구글링 끝에 찾아낸 함수 입니다.

위 함수처럼 한글 2byte, 영문 1byte로 잘라서 사용 할 수 있습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function strcut_utf8($str, $len){
    preg_match_all('/[\xE0-\xFF][\x80-\xFF]{2}|./', $str, $match);
    $m = $match[0];
    $slen = strlen($str); // length of source string
    $tail = '...';
    $tlen = $tail; // length of tail string
    if ($slen <= $len) return $str;
    $ret = array();
    $count = 0;
    for ($i=0; $i < $len; $i++){
        $count += (strlen($m[$i]) > 1)?2:1;
 
        if ($count + $tlen > $len) break;
        $ret[] = $m[$i];
    }
    return join('', $ret).$tail;
}


본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
29 How to Call SWI-Prolog from PHP 5 졸리운_곰 2016.05.10 281
28 neural-network by php file 졸리운_곰 2016.03.16 152
27 Learning Library for PHP file 졸리운_곰 2016.03.16 371
26 php 전문가 시스템 php expert system file 졸리운_곰 2016.03.15 56
25 How to Insert JSON Data into MySQL using PHP file 졸리운_곰 2015.12.04 817
24 이클립스(Eclipse) PHP 개발환경 설정. file 졸리운_곰 2015.11.14 216
23 PHP로 만든 달력 file 졸리운_곰 2015.10.27 118
22 라이트 cms 다운로드 ritecms_2.2.1.zip file 졸리운_곰 2015.10.27 24
21 드루팔 다운로드 drupal-7.41.zip file 졸리운_곰 2015.10.27 11
20 도쿠위키 다운로드 dokuwiki-5422200921b.tgz file 졸리운_곰 2015.10.27 47
19 미디어위키 다운로드 mediawiki-1.25.3.tar.gz file 졸리운_곰 2015.10.27 34
18 워드프레스 다운로드 wordpress-4.3.1-ko_KR.zip file 졸리운_곰 2015.10.27 34
17 제로보드 다운로드 XE Core ver. 1.8.13 xe.zip file 졸리운_곰 2015.10.27 30
16 XE 스킨 제작 매뉴얼 v1.1 XE-Skin_Manual-ko(v1.1).pdf file 졸리운_곰 2015.10.26 21
15 제로보드 XE 개발자 가이드 file 졸리운_곰 2015.10.26 23
14 php로 웹 수집 : Basic PHP Web Scraping Script Tutorial 졸리운_곰 2015.09.20 64
13 PHP 와 MYSQL 연동 졸리운_곰 2015.08.11 585
12 PHP 기반의 Micro Frameworks 정리 졸리운_곰 2015.05.15 276
11 PHP의 composer 란 무엇인가?, PHP 의존성 관리도구 졸리운_곰 2015.05.15 372
10 슬림(Slim): 마이크로 프레임워크 [모바일 restful 서버] 졸리운_곰 2015.05.15 243
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED