用what_function()替换弃用的ereg

时间:2013-09-16 05:12:54

标签: php

我有一个代码可以读取目录中的文件。 但我正在使用ereg(), 现在我在PHP 5.3上得到了一个弃用的错误。

在谷歌搜索后,有人说要用ereg()替换perg_match()

但在用perg_math()替换后,我收到了错误:

  

preg_match():没有结尾分隔符'。'结果

我不是PHP专家肯定解决这个问题。

$path = THEME_DIR.'/'.$path;
foreach(array_diff(scandir($path), array('.', '..')) as $f) 
    if (is_file($path . '/' . $f) && (('.php') ? ereg('.php' . '$' , $f) : 1)) 
        $l[] = $f;
return $l; 

1 个答案:

答案 0 :(得分:2)

preg_match正则表达式应该在分隔符内..“/你的正则表达式/”..已弃用的POSIX正则表达式是不需要任何分隔符的那个...例如ereg(“)

所以只需将你的正则表达式改为

"/old regex/"

PHP regular expressions: No ending delimiter '^' found in 供参考

$path = THEME_DIR.'/'.$path;
foreach(array_diff(scandir($path), array('.', '..')) as $f) 
    if (is_file($path . '/' . $f) && (('.php') ? ereg('/.php' . '$/' , $f) : 1)) 
        $l[] = $f;
return $l;