Yine başka bir php ereg düzeltme

2 Cevap php

Ben preg_match için ereg almak için gereken kodlama küçük bir yığın var. İşte kodudur.

function be_file_list($d, $x) {
    foreach (array_diff(scandir($d), array('.', '..')) as $f) {
        if (is_file($d . '/' . $f) && (($x) ? ereg($x.'$',$f) : 1)) {
            $l[] = $f;
        }
    }

    return $l;
}

This code works as expected even if it doesn't look too pretty (source: http://www.php.net/manual/en/function.scandir.php)

ancak ereg önerilmemektedir gibi, ben gerçekten preg_match'in yapmak ister, ya da onun gibi bir şey olur.

Ben bu konuda bütün öğleden sonra karıştırmasını edilmiş ve PC pencereden dışarı gitmek üzeredir. Ben sanırdım ki

preg_match("/"$x.'$',$f"/")

hiçbir zar ama çalıştı olurdu.

Herhangi bir yardım büyük olurdu.

Cheers Ben

2 Cevap

Bunu tüm yanlış ... denemek lazım

preg_match('/'.preg_quote($x, '/').'$/', $f)

You yazdı:

preg_match("/"$x.'$',$f"/")

Sen dizeleri ve vars arasındaki . s gerekir ve yanlış yerde bölü var. Bu desen sonra değil, konuya sonra olması gerekir.

glob aradığınız şey gibi görünüyor. Dizin okuma ve düzenli ifadeler hem birleştiren