我对php一无所知,我刚买了一个使用'sendmail.php'文件的模板。我收到的消息是ereg已被弃用,所以我发现它需要更新为preg_match。这是一个简单的解决方案,但现在它抱怨3个不同语句中的3个新错误。任何帮助将不胜感激。
elseif ( preg_match( "[][{}()*+?.\\^$|]", $_REQUEST['name'] ) ) { } // unknown modifier "["
elseif ( !preg_match("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $_REQUEST['email']) ) { } //no ending delimiter '^'
elseif ( preg_match( "[][{}()*+\\^$|]", $_REQUEST['message'] ) ) { } // unknown modifier "["
答案 0 :(得分:2)
通常(但并非总是),ereg和preg模式之间的唯一区别是preg模式需要一个分隔符。尝试将/ delimiter添加到开头和结尾,如:
"/[][{}()*+?.\\^$|]/"
"/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/"
"/[][{}()*+\\^$|]/"