弃用函数的用法
回答
如上所述,您不应该使用eregi或任何其他弃用函数,因为它们已在下一版本的PHP中被删除。
查看the preg* functions基于PCRE(Perl兼容正则表达式)的替代方案(preg_match和preg_match_all是需要电子邮件验证的功能)。 eregi *函数是基于posix的正则表达式,所以PCRE的语法略有不同,但它不是一个重大变化。
为什么一个函数会被弃用? Wikipedia建议:
- 该功能已被更强大的替代功能取代。
- 该功能被认为是无关的,将来会被删除以简化整个系统。
- 该软件的未来版本计划进行重大结构更改,这使得支持旧功能变得不可能(或不切实际)。
- 命名中的标准化或增加的一致性
- 该功能包含设计缺陷 - 经常出现安全缺陷 - 因此应该避免,但现有代码依赖于它。
不应使用不推荐使用的函数;这是因为,尽管它们在当前版本的解释器中正常工作,但它们可能(并且将会)从未来的版本中完全移除。所以如果你在旧项目中使用它们,你可能会留下它们(但是当你迁移到一个新的php版本时你的项目可能会中断)。
但绝对不要在新项目中使用它们。
它的用法是正确的,但不推荐使用。这意味着在将来的PHP版本中,此方法可能会被删除。这可能是由于安全性,冗余或其他原因。通常还有其他方法可以用来代替这些方法(例如eregi - > preg_match)
如果希望脚本向前兼容,则不应使用弃用的函数。他们现在工作,但未来可能无法工作。或者,更糟糕的是,他们提出了一个严重的错误,这个错误不能被固定地修复,但是需要修改一个更大的变化,而修复单个函数是无法解决的。
在你的情况,eregi将被从PHP 6中删除,你的脚本将会失败。改为使用preg_match()
或preg_match_all()
。
ereg
和eregi
已弃用,因为它们不适用于Unicode。
在回答问题"Why is ereg being deprecated?",Rasmus Lerdorf是这样说的:
真正的答案是,有没有 Unicode支持在额日格功能, 和喜欢还是不喜欢,这个世界是怎么回事 Unicode。
请参阅PHP-DEV邮件列表上的the discussion。
正如其他人所说,你不应该使用过时的功能,并在预浸料的功能看,而不是。
专门用于电子邮件验证,如果您的Web应用程序将运行在PHP 5.2及更高版本的服务器上,则可能需要查看PHP的filter(特别是filter_var)函数。过滤器函数也可用于URL验证和验证IP地址等。
只要使用preg_match
以“我”修饰
echo eregi('[\w\.-_][email protected][\w\.-_]+\.([a-z]{2,3})', $email) ? 'correct' : 'wrong';
echo preg_match('#[\w\.-_][email protected][\w\.-_]+\.([a-z]{2,3})#i', $email) ? 'correct' : 'wrong';
- 1. 弃用:函数eregi()已弃用
- 2. MapDB弃用函数
- 3. 函数表示法是否被弃用?
- 4. 如何弃用Python函数?
- 5. PHP函数ereg_replace()已弃用
- 6. 弃用:函数eregi()已弃用,如何解决此错误?
- 7. 未被弃用的Java日期函数
- 8. #pragma弃用基于签名的函数?
- 9. 节点弃用警告:不使用回调调用异步函数已弃用
- 10. Doctrine postPersist Event弃用getEntity函数
- 11. mysql():此函数在Typo3中已弃用
- 12. Apps脚本getRowsData函数已被弃用?
- 13. “函数split()已弃用”在PHP中?
- 14. AmazonKinesisClient构造函数已被弃用
- 15. 弃用方法addPreferencesFromResources
- 16. Jetty SslConnector的弃用方法
- 17. 如何用新的Blob构造函数替换弃用的BlobBuilder?
- 18. PHP中的函数已弃用,现在应该使用什么?
- 19. 跟踪使用标记为弃用的函数
- 20. DeprecationWarning:不使用回调调用异步函数已弃用
- 21. 快递req.param弃用语法
- 22. BitmapFactory.Options“inPurgeable”方法弃用
- 23. 计数函数的用法
- 24. phps mb_ereg函数可以安全使用(由于ereg被弃用)?
- 25. SimpleCursorAdapter的旧构造函数已弃用..真的吗?
- 26. 如何从我的wordpress代码替换弃用的函数?
- 27. 对于MPAndroidChart已弃用的setDrawCubic()的替代函数是什么?
- 28. autoconf:检测已弃用的函数(在Glibc中)
- 29. 在自定义R包中标记为弃用的函数
- 30. 哪里可以找到弃用函数的更新?
非常感谢所有他的答案,但我想第一部分保持仍然无人应答......如果事情做工精细与特定的载体作用..为什么人觉得有必要贬低其他it..or西隧的问题可能已经被窃听,使他们做到这一点.. – Sachindra 2009-11-16 10:38:38
@ sachindra149,看到我的答案的家伙。 – 2009-11-16 10:47:22
谢谢你的答案... – Sachindra 2009-11-16 11:01:52