转换ereg tp preg_match

时间:2013-11-15 23:39:17

标签: php

我对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 "["

1 个答案:

答案 0 :(得分:2)

通常(但并非总是),ereg和preg模式之间的唯一区别是preg模式需要一个分隔符。尝试将/ delimiter添加到开头和结尾,如:

"/[][{}()*+?.\\^$|]/"

"/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/"

"/[][{}()*+\\^$|]/"