1

当我写这段代码时:

$pat='^[A-Za-z][a-zA-Z0-9_\-\.]*@[a-zA-z0-9\-]+\.[a-zA-Z0-9\-\.]+$';
$mail='javad.y1';
ereg($pat,$mail);

我收到此错误:

已弃用:函数 ereg() 在第 10 行的 C:\wamp\www\Test\test.php 中已弃用

4

3 回答 3

6

声明“错误:不推荐使用:不推荐使用函数 ereg() ”几乎可以回答您的问题。

关于使用更现代的等价物,请参阅PHP 手册中的与POSIX 正则表达式的差异页面以及您需要使用的preg_match函数。

或者,对于一些令人兴奋的进一步阅读,为什么不查看:http ://en.wikipedia.org/wiki/Deprecated

使用示例代码更新

如果您尝试验证电子邮件,则可以使用:

if(preg_match("/^[A-Za-z][a-zA-Z0-9_\-\.]*@[a-zA-z0-9\-]+\.[a-zA-Z0-9\-\.]+/", $email)) {
    // The email is valid. Yay for stuff! And things!
}

也就是说,我不会说这一定是最好的方法。

于 2011-03-25T23:39:04.883 回答
2

因为ereg()已弃用。你应该preg_match()改用。

于 2011-03-25T23:38:48.990 回答
0

你现在是Perl 兼容的 RegEx

POSIX 正则表达式

As of PHP 5.3.0 this extension is deprecated,  calling any function

此扩展提供的将发出 E_DEPRECATED 通知。

于 2011-03-25T23:40:29.280 回答