-1

ディレクトリ内のファイルを読み取るコードがあります。しかし、私は使用しereg()ています.PHP 5.3で非推奨のエラーが発生しています.

Googleで検索した後、誰か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; 
4

1 に答える 1

2

preg_match regex は区切り記号の内側にある必要があります.. "/your regex here/".. 非推奨の POSIX 正規表現は、区切り記号を必要としないものでした.. 例: ereg(")

正規表現を次のように変更するだけです

"/old regex/"

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; 
于 2013-09-16T05:27:03.680 に答える