函数ereg()已弃用

nar*_*tra 7 php regex

我已经开始学习PHP了.所以在我的Windows 7机器上安装了WAMP服务器.我正在尝试以下PHP代码:

<?php
$phrase = "I love PHP";
if (ereg("PHP", $phrase)) {
  echo "The expression matches";
}
?>
Run Code Online (Sandbox Code Playgroud)

在我的mozilla中尝试这个时,我得到了输出:

Deprecated: Function ereg() is deprecated in C:\wamp\www\learnphp\common.php on line 3
The expression matches
Run Code Online (Sandbox Code Playgroud)

我认为代码是正确的.我无法理解错误.任何人都能解释一下这个"弃用"在这里意味着什么吗?以及如何解决这个错误?

我的php版本是5.3.0.可以是版本问题吗?

编辑:我google了它,发现了一些关于www文件夹中的include\file.inc文件.我的www文件夹中没有include目录.

Vot*_*ple 15

"不推荐使用"意味着PHP 5.3.0不再支持该功能.

您应该将ereg()视为不再存在.

该功能仍然存在,但仅用于支持已使用的现有应用程序.

编写新代码时,请不要使用已弃用的函数.

相反,请考虑preg_match函数.


Gor*_*don 6

不推荐使用意味着此函数最终将在未来版本中从PHP中删除.您不应再在代码中依赖它,而是使用建议的替代方法.

在PHP的情况下ereg,请注意PHP手册中的注意事项:

由于PHP 5.3.0中,正则表达式扩展有利于PCRE扩展的弃用.调用此函数将发出E_DEPRECATED通知.有关转换为PCRE的帮助,请参阅差异列表.

另请参阅E_DEPRECATEDPHP手册中的说明.
对于PHP5.3中所有已弃用的功能,请参阅PHP 5.3.x中不推荐使用的功能.
有关更多一般信息,请参阅维基百科有关软件弃用的文章

  • 这也意味着你正在学习的教程已经过时了,你应该找到一个现代的教程. (3认同)