[PHP-users 35493] ereg関数:[留学]と[嘘]の一致について
Kumiko ENOMOTO
kijibato @ nifty.com
2011年 2月 20日 (日) 16:44:43 JST
お世話になります。
ブラウザ(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 メーリングリストの案内