• ベストアンサー

マルチバイトのチェック

文字を格納した変数に、マルチバイトが含まれていたらtrue無ければfalseみたいな処理がしたいのですが、どのようにすればよいでしょうか?

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.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); }

mpqfiogwd
質問者

お礼

これはいいです!ありがとうございました。

その他の回答 (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 ); } #利用する漢字コードによっては、正しく判断できない可能性があるかもしれません。

mpqfiogwd
質問者

お礼

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

関連するQ&A