0

またお問い合わせフォームを作っていて、そこで eregi() を使っています。しかし、ご存知のように、eregi() 関数は PHP 5.3 で非推奨になったため、関数 eregi() を置き換えるために使用できる代替関数を知りたいですか? !preg_match を試してみましたが、目的の出力が得られたにもかかわらず、まだエラーが発生しているようです! >3<

警告: preg_match(): C:\xampp\htdocs\Wall\mailform.php38 行目の区切り文字は、英数字またはバックスラッシュであってはなりません (スパムの試みが検出された可能性があります。そうでない場合は、お問い合わせフォームの内容を編集してください再試行してください。) - () 内の文は、目的の結果です。

これは私が使用したコードです。!preg_match() は以前は eregi() でした。:)

function spamcheck($field) {
    if(!preg_match("to:",$field) || !preg_match("cc:",$field) || !preg_match("\r",$field) || !preg_match("\n",$field) || !preg_match("%0A",$field)){ 
        $possiblespam = TRUE;
    }else $possiblespam = FALSE;
    if ($possiblespam) {
        die("Possible spam attempt detected. If this is not the case, please edit the content of the contact form and try again.");
        return 1;
    }
}

答えて助けてくれる人に感謝します。どんな種類の助けも大歓迎です!

4

1 に答える 1

1

正規表現を区切り文字で囲む必要があります。

preg_match("/to:/",$field)
     here __^   ^
于 2013-01-07T08:27:58.210 に答える