2011年2月20日

[PHP-users 35493]ereg関数:[留学]と[嘘]の一致について

お世話になります。

ブラウザ(EUCで作成されたHTML)のテキストエリアに
ユーザーが入力した文字列について、
PHPプログラム内で禁止ワードチェックを行っています。

ereg関数を使用しているのですが、
「留学」と「嘘」が一致してしまいます。

PHPプログラム内で「留学」という文字列を直接指定しても同じです。

// 禁止ワード配列
$ngwords = array("馬鹿","嘘","阿呆");
// ブラウザ上で入力された文字列
$incmnt = "留学";
$cntng = count($ngwords);
for ($n=0; $n<$cntng; $n++){
if (ereg($ngwords[$n], $incmnt) == true){
print "禁止ワードあり";
exit;
}
}

「留」や「学」の漢字が単体だと一致せず、
以下のような通常の比較の場合は、
「留学」と「嘘」は当然一致しません。

if ($ngwords[$n] == $incmnt) {
print "禁止ワードあり";
exit;
}

何が原因と思われますか?
ご教授のほど、よろしくお願いします。


榎本久美子

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2011年2月20日 16:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/102124
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。