2013-09-11
str_split — 문자열을 배열로 변환

위의 함수는... 안타깝게도 한글이 되질 않는다.

뭐 캐릭터셋 문제때문인데.. 그럼 뭐 있나? 직접 하나하나씩 짜르면 되는거지.
$str = "테스트글자";
for( $i=0; $i<mb_strlen($str,"EUC-KR"); $i++ )
  $arr []= mb_substr( $str, $i, 1, "EUC-KR" ); 
print_r( $arr );
Array 
( 
	[0] => 테 
	[1] => 스 
	[2] => 트 
	[3] => 글 
	[4] => 자 
)
캐릭터셋은 사용하는 페이지에 알맞게 알아서 수정하면 될것이다.

//-------------------------- 추가 사항 2013.09.24
최근 이함수를 다시 쓸일이 있어서 살펴보다가 알게 된 사실인데.. 배열로 만들때 3글자씩 만들어 버리면, 아래와 같은 결과가 나오기도 한다.
$str = "테스트글자";

$arr1 = str_split($str);
$arr2 = str_split($str, 2);
$arr3 = str_split($str, 3);

print_r($arr1);
print_r($arr2);
print_r($arr3);
Array
(
    [0] => �
    [1] => �
    [2] => �
    [3] => �
    [4] => �
    [5] => �
    [6] => �
    [7] => �
    [8] => �
    [9] => �
    [10] => �
    [11] => �
    [12] => �
    [13] => �
    [14] => �
)
Array
(
    [0] => �
    [1] => ��
    [2] => ��
    [3] => �
    [4] => ��
    [5] => ��
    [6] => �
    [7] => �
)
Array
(
    [0] => 테
    [1] => 스
    [2] => 트
    [3] => 글
    [4] => 자
)
캐릭터셋 차이라는건 해당 글자를 몇바이트로 취급하냐가 다르다는것도 포함되기 때문에 이런 결과가 나오는것이니... 당연히 짜를때 해당 바이트만큼 자르면 가능 할 수 있는건데...
이걸 미쳐 생각 못했었다 .ㅡ/.ㅡ;

//-------------추가 사항 2014.07.15
하지만 위의 방식은 추천하지 않는다. 왜냐면, 빈칸이나 숫자,특문이 들어가면 위와 같은 깔금한 결과가 나오지 않기 때문이다.