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;
}


본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
37 워드프레스 – 코드플로우(URL에서 페이지까지) 졸리운_곰 2016.07.21 175
36 워드프레스 데이터베이스 들여다보기. file 졸리운_곰 2016.07.21 93
35 워드프레스 웹페이지 구조와 구성요소인 템플릿 파일 이해하기. 졸리운_곰 2016.07.21 374
34 기본적으로 알아야할 워드프레스 파일 구조 및 디렉터리 구조 file 졸리운_곰 2016.07.21 250
33 워드프레스의 기본 구조에 대해 알아보자 file 졸리운_곰 2016.07.21 100
32 php에서 외부 명령어 실행하기 졸리운_곰 2016.05.10 173
31 php함수정리 졸리운_곰 2016.05.10 127
30 10분 안에 PHP 확장 모듈 만들기 file 졸리운_곰 2016.05.10 90
29 How to Call SWI-Prolog from PHP 5 졸리운_곰 2016.05.10 303
28 neural-network by php file 졸리운_곰 2016.03.16 176
27 Learning Library for PHP file 졸리운_곰 2016.03.16 389
26 php 전문가 시스템 php expert system file 졸리운_곰 2016.03.15 92
25 How to Insert JSON Data into MySQL using PHP file 졸리운_곰 2015.12.04 858
24 이클립스(Eclipse) PHP 개발환경 설정. file 졸리운_곰 2015.11.14 239
23 PHP로 만든 달력 file 졸리운_곰 2015.10.27 146
22 라이트 cms 다운로드 ritecms_2.2.1.zip file 졸리운_곰 2015.10.27 50
21 드루팔 다운로드 drupal-7.41.zip file 졸리운_곰 2015.10.27 29
20 도쿠위키 다운로드 dokuwiki-5422200921b.tgz file 졸리운_곰 2015.10.27 65
19 미디어위키 다운로드 mediawiki-1.25.3.tar.gz file 졸리운_곰 2015.10.27 50
18 워드프레스 다운로드 wordpress-4.3.1-ko_KR.zip file 졸리운_곰 2015.10.27 60
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED