您的位置:首页 > 其它

关于ereg()函数过时问题

2016-04-12 21:30 316 查看
作为一名刚刚起步在php这条不归路的一名小白而言,各种各样的问题在所难免,今日,在按照书本中打代码练习检验字符时,运行时突然跳出:

Deprecated:Function ereg() is deprecated in ...

显示ereg()函数过时,于是跑去查了下手册,手册中关于ereg()函数是这样描述的:

ereg

(PHP 4, PHP 5)

ereg — 正则表达式匹配

说明

int ereg ( string $pattern , string $string [, array &$regs ] )

Note: 

使用 Perl 兼容正则表达式语法的 preg_match() 函数通常是比 ereg() 更快的替代方案。 

于是就百度了下,才知道ereg()在php5.3已经被废弃了,所以在php5.3及以上版本都会告诉你使用了过期函数。

不就是警告下嘛,还是能用的,所以就可以用@把提醒信息屏了。嗯,这办法还是顶用的。但在高速更新的php世界里,这种行为还是不可取的,因为过时证明有更好的方法取代它。编程的世界必须与时俱进,试试更新嘛。

于是回到手册中note的好心提醒,可以用preg_match()函数嘛,更快更标准。以下是手册关于preg_match()的描述:

preg_match

(PHP 4, PHP 5, PHP 7)

preg_match — 执行一个正则表达式匹配

说明

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

搜索subject与pattern给定的正则表达式的一个匹配.

函数用法:

preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

ereg ( string $pattern , string $string [, array &$regs ] )

在使用正则表达式时preg_match中的pattern必须要有模式定界符(如前后各加”/”)

subject: 需要验证的字符串

matchs/regs: 匹配后得到的结果。以数组的形式存储

附上关于此次检验修改的截图给和我一样遇到这位体的小白参考
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: