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
하지만 위의 방식은 추천하지 않는다. 왜냐면, 빈칸이나 숫자,특문이 들어가면 위와 같은 깔금한 결과가 나오지 않기 때문이다.