dポイントプレゼントキャンペーン実施中!

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

A 回答 (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);
}
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/03/04 01:32

下記の処理で半角だけかどうかをチェックできないでしょうか?


つまり、flaseが返ってきたら、マルチバイトが含まれているということになります。
function is_hankaku(
$_str // 文字列
)
{
$pm1 = '[^\w\s\-\^\\\!\"\#\$\%\&\'\(\)\=\~\|\@\[\`\{\;\:\]\,\.\/\<\>\?\_]';
if ( preg_match( "/$pm1/", $_str ) > 0 ){
$rtn = 0;
} else {
$rtn = 1;
}
return ( $rtn );
}
#利用する漢字コードによっては、正しく判断できない可能性があるかもしれません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/03/04 01:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!