【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

下記の中で、禁止メールアドレスや禁止用語の設定ができると思うのですが、どの部分に禁止したいメールアドレスや用語を入れればいいのか分かりません。
何方か分かる方いないでしょうか?
いた際にはご指導よろしくお願いします。

# 禁止メールアドレスのチェック
if(@ngemails){
local($ngemail_flag) = '0';
foreach $ngemail (@ngemails){
if($in{'email'} eq $ngemail){$ngemail_flag = '1'; last;}
}
if($ngemail_flag){&error('メールアドレスが拒否されました');}
}
# 禁止用語のチェック
if(@ngwords){
local($ngword_flag) = '0';
foreach $ngword (@ngwords){
if($in{'comment'} =~ /$ngword/i){$ngword_flag = '1';}
if($in{'sub'} =~ /$ngword/i){$ngword_flag = '1';}
}
if($ngword_flag){&error('禁止用語が含まれています');}
}

A 回答 (2件)

質問文のコードは、禁止メールアドレスおよび禁止用語に該当するかどうかをチェックしている部分ですから、それ以前に No.1解答者が示されたように設定するところがあると思います。


ところで、使っている日本語文字コードが Shift_JIS の場合は、定義した禁止用語によっては「禁止用語のチェック」のところでエラーになります。
エラーを回避するには、禁止用語、$in{'sub'}、$in{'comment'}ともに EUC-JPなどに変換しておいてチェックするとか、正規表現の $ngword を \Q,\E で括るとかの工夫が要ります。
    • good
    • 0

@ngemails = ('aa@aa.com', 'bb@bb.cc');


@ngwords = ( '暴力', 'ホテル', '危険' );

のような感じですかね。
    • good
    • 0

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