投稿フォームに卑猥な漢字だけ入れるのは勘弁してほしい時ってあるよね。
ifで弾けばいいんだけど、漢字1文字で「性」とか「膣」などといった表現だと際限ないよね。

そこで、PHPのmb_strlenとpreg_matchで漢字1文字だけならエラー文を出すようにするよ。
まずは文字数を数えるのにmb_strlenを使うよ。
$text = htmlspecialchars($_POST['text'], ENT_QUOTES); $text_count = mb_strlen($text);
でも、これだけだと漢字やひらがなだとうまく文字数を取得できないんだ。
だから、mb_detect_encodingをかましたあとに数えちゃう。
$text = htmlspecialchars($_POST['text'], ENT_QUOTES); $encode = mb_detect_encoding($text); $text_count = mb_strlen($text, $encode);
次はpreg_matchで漢字かどうか判定するよ。
preg_match("/^[一-龠]+$/u", $text);
まとめると次のようになるよ。
$text = htmlspecialchars($_POST['text'], ENT_QUOTES);
$encode = mb_detect_encoding($text);
$text_count = mb_strlen($text, $encode);
if($text_count==1 && preg_match("/^[一-龠]+$/u", $text)){
echo "漢字1文字しかいれてねーじゃねーか!";
}
文字判定は以下のページが参考になるよ。
著者/訳者:小川 雄大 柄沢 聡太郎 橋口 誠
出版社:技術評論社( 2010-11-12 )
定価:¥ 3,780
Amazon価格:¥ 3,780
大型本 ( 592 ページ )
ISBN-10 : 4774144371
ISBN-13 : 9784774144375



Comments
コメントはまだありません。
コメントする