- ベストアンサー
マルチバイトのチェック
文字を格納した変数に、マルチバイトが含まれていたらtrue無ければfalseみたいな処理がしたいのですが、どのようにすればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
だいぶ適当でよければ・・ var_dump( isMB('abc') ); var_dump( isMB('あbc') ); var_dump( isMB('あbc') ); function isMB($value) { $value = mb_convert_encoding($value, "UTF-8", "auto"); return strlen($value) != mb_strlen($value); }
その他の回答 (1)
- hyoro
- ベストアンサー率71% (5/7)
回答No.1
下記の処理で半角だけかどうかをチェックできないでしょうか? つまり、flaseが返ってきたら、マルチバイトが含まれているということになります。 function is_hankaku( $_str // 文字列 ) { $pm1 = '[^\w\s\-\^\\\!\"\#\$\%\&\'\(\)\=\~\|\@\[\`\{\;\:\]\,\.\/\<\>\?\_]'; if ( preg_match( "/$pm1/", $_str ) > 0 ){ $rtn = 0; } else { $rtn = 1; } return ( $rtn ); } #利用する漢字コードによっては、正しく判断できない可能性があるかもしれません。
質問者
お礼
ありがとうございました。
お礼
これはいいです!ありがとうございました。