内容に日本語が含まれているかを調べる方法

2012-10-18 07:28:35
メールフォームならメールアドレスは見えないのでスパムは届きにくくなるが、最近内容が英語だけのスパムメールが届くようになった。簡単な処置として、内容に日本語が含まれているかを調べて、英語だけの場合は送信しないという分岐を追加することに。

どうやって全角の文字があるかどうか調べるかというと、文字数を数える『strlen関数』と『mb_strlen関数』を使用して、マルチバイトが含まれているかどうかを調べます。
<?php
if(strlen($body) == mb_strlen($body,'utf8')) {
    //全部英語(全てシングルバイト)
}else{
    //日本語が含まれている(マルチバイトを含む)
}
?>