半角と全角の混じる文字列から文字化けせずに切り取る
半角と全角の混じる文字列から文字化けせずに切り取る
下記のような形だと、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');