半角と全角の混じる文字列から文字化けせずに切り取る ITかあさん

ITかあさん

半角と全角の混じる文字列から文字化けせずに切り取る

半角と全角の混じる文字列から文字化けせずに切り取る

下記のような形だと、1バイトと2バイトが混じるため、最後の文字が文字化けしてしまうことがあります。

substr関数

$str = 'あいssえおsssかfきsくsけsこ';
echo substr($str, 0, 7);

mb_substr関数

このように第4引数に文字コードを指定してあげると、1バイトと2バイトが混じった文字列でも文字化けすることなく自在に切り取ることが出来ます。
mb_substr関数は、1バイトだろうが、マルチバイトだろうが各一文字をカウントして、指定された長さにして返すのが特徴です。
日本語を含む文字列操作はこちらを使ったほうが良さそうです。メモメモ。

$str = 'あいssえおsssかfきsくsけsこ';
echo mb_substr($str, 0, 7,'UTF-8');
初夏のJavaScript祭 in サーキュレーションビル ForPro