另一个php ereg修复程序
我有一小段代码需要从ereg到preg_match。这是代码另一个php ereg修复程序,php,pcre,posix-ere,Php,Pcre,Posix Ere,我有一小段代码需要从ereg到preg_match。这是代码 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; } } r
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;
}
这段代码按预期工作,即使看起来不太漂亮
(来源:)
但由于ereg不受欢迎,我真的很想让它成为preg_match,或者类似的东西
我整个下午都在搞这个,电脑就要出窗外了。我本以为
preg_match("/"$x.'$',$f"/")
如果不是掷骰子的话,我会成功的
任何帮助都会很好
干杯
本你全搞错了。。。试一试
preg_match('/'.preg_quote($x, '/').'$/', $f)
你写道:
preg_match("/"$x.'$',$f"/")
在字符串和变量之间需要
s,并且尾部斜杠的位置不正确。它需要在模式之后,而不是在主题之后 看起来就是你要找的东西。将目录读取和正则表达式结合起来你不是在开“小块”的玩笑。不过,为了最大限度地提高不可读性,还有两三条换行符可以去掉。glob
不使用正则表达式。足够了