对于带有preg_match()的ereg(“((。)([a-z0-9] {3,5})$”,$ file_name),还有什么可以替代?

时间:2011-07-19 08:10:01

标签: php

我们知道PHP ereg()函数不再是PHP 5.3.x的一部分,我需要使用PHP preg_match()替代以下代码:

ereg("(\.)([a-z0-9]{3,5})$", $file_name)

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:2)

这应该这样做(如果我理解正确的正则表达式)

preg_match("/\\.([a-z0-9]{3,5})$/", $file_name)

匹配以.后跟3,4或5个数字或小写字母结尾的字符串,这些最后的字母/数字现在将位于第一个匹配组中

如果您想抓取文件的扩展名,也许这篇文章可能会有所帮助:http://cowburn.info/2008/01/13/get-file-extension-comparison/

TLDR版本是:

$ext = pathinfo($file_name, PATHINFO_EXTENSION);

答案 1 :(得分:0)

preg_match("/(\.)([a-z0-9]{3,5})$/", $file_name);

//dot will be obtained with $file_name[1] and these characters with $file_name[2]//