ここから本文です

PHPでマルチバイト文字列を1文字ずつ配列に分割したいのですが、str_split(文字列...

hok********さん

2008/7/813:52:36

PHPでマルチバイト文字列を1文字ずつ配列に分割したいのですが、str_split(文字列,2);以外に簡単な方法はありますか?

閲覧数:
10,823
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

nis********さん

2008/7/910:15:26

マニュアルのmb_splitに載っていたコードを改造してみました
http://php.benscom.com/manual/ja/function.mb-split.php

splitで分割できないのは面倒だにぃ

<?php
function mbStringToArray ($sStr, $sEnc='UTF-8') {
$aRes = array();
while ($iLen = mb_strlen($sStr, $sEnc))
{
array_push($aRes, mb_substr($sStr, 0, 1, $sEnc));
$sStr = mb_substr($sStr, 1, $iLen, $sEnc);
}
return $aRes;
}
$sTest = 'テストtstですよ';
$a1 = str_split($sTest, 2);
$sEnc = mb_detect_encoding($sTest, 'ASCII,JIS,UTF-8,EUC-JP,SJIS');
$a2 = mbStringToArray($sTest, $sEnc);

print_r($a1);
print_r($a2);
?>

質問した人からのコメント

2008/7/14 23:07:18

ありがとうございました!

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる