こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

文字列分割方法

フォームから入力されたデーターを文字数により4分割したい場合、
シングルバイトとマルチバイト文字列が混在していると、文字化けが起こってしまいます。

私が考えた方法は
<?php
$test="あああああいいいいいうううううえええええ";
$length = strlen($test);
$length2 = (int)$length/4

$quarter[] = substr($test,0,$length2);
$quarter[] = substr($test,$length2,$length2);
$quarter[] = substr($test,$length2*2,$length2);
$quarter[] = substr($test,$length2*3,$length2);

echo $quarter[0]."<BR><BR>";
echo $quarter[1]."<BR><BR>";
echo $quarter[2]."<BR><BR>";
echo $quarter[3]."<BR><BR>";
?>

というものだったんですが、この場合$testに半角文字のaなどが入ると
文字化けしてしまいます。

上手く、マルチバイト・シングルバイト複合文字列を文字数により4分割する方法はないでしょうか?

ご教授ください

投稿日時 - 2008-02-17 04:54:12

QNo.3783233

困ってます

質問者が選んだベストアンサー

とりあえず
strlen()→mb_strlen()
substr()→mb_substr()

文字数が分割数でわきれないときどうしたいのか書いてないので
そのへんの処理は別途課題ということで

投稿日時 - 2008-02-17 13:35:38

お礼

ありがとうございました

投稿日時 - 2008-02-29 12:43:59

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)