使用带有array_diff()的正则表达式来排除具有给定扩展名的文件

时间:2014-06-14 01:39:29

标签: php regex

我回复了目录的内容,不包括这样的文件:

$exclude_list = array(".", "..", "index.php",".htaccess");
$scanned_directory = array_diff(scandir($dir), $exclude_list);   

我想将扩展名为.meta.js的目录中的所有文件添加到排除列表中。我可以用正则表达式做到这一点,还是我必须遍历它们并将它们单独添加到数组中,还是有其他方式?

1 个答案:

答案 0 :(得分:5)

preg_grep与正则表达式一起使用将适合过滤您的列表。

 preg_grep("/^(\.|\.\.|index\.php|\.htaccess)$|\.meta\.js$/",
     $scanned_dirs, PREG_GREP_INVERT)

这涵盖了您现有的排除项以及元扩展程序。