ユーザーが自分で名前を選択できるアプリを開発しています。「悪い」名前を除外できるようにする必要があるため、今のところこれを行います。
$error_count=0;
$bad_names="badname1badname2";
preg_match_all("/\b".$user_name."\b/i",$global['bad_names'],
$matches,PREG_OFFSET_CAPTURE);
if(count($matches[0])>0)
{
$error_count++;
}
これは、ユーザーの名前が悪い名前のリストに含まれているかどうかを教えてくれますが、悪い名前自体がユーザーの名前に含まれているかどうかはわかりません。彼らは悪い言葉を何か他の言葉と組み合わせることができましたが、私はそれを検出しませんでした.
これにはどのような正規表現を使用しますか (正規表現を使用する場合)。悪い名前 (できれば $bad_names のような配列) を取得し、ユーザーの名前を検索して、その単語が名前に含まれているかどうかを確認できるようにする必要があります。私は正規表現が得意ではありません。私が考えることができる唯一の方法は、非常に非効率的なループにすべてを通すことです。誰でも良いアイデアがありますか?配列を使用して文字列を検索する方法を理解する必要があると思います。