0

我有下面的代码:

foreach($filetypes as $filetype)
{
  $filenum = $filenum + count(glob($root.$tree.$branch.sql_regcase($filetype),GLOB_NOSORT));
}

函数 sql_regcase() 已弃用。有谁知道替代方案sql_regcase()?我在下面尝试过这个,但我认为它不一样。

$filenum = $filenum+count(glob($root.$tree.$branch.preg_mach("/$filetype/ig"),GLOB_NOSORT));

同样根据这个http://php.net/manual/en/reference.pcre.pattern.posix.php没有等效的功能。

4

3 回答 3

1

最后,我做到了:

function my_Sql_regcase($str){

    $res = "";

    $chars = str_split($str);
    foreach($chars as $char){
        if(preg_match("/[A-Za-z]/", $char))
            $res .= "[".mb_strtoupper($char, 'UTF-8').mb_strtolower($char, 'UTF-8')."]";
        else
            $res .= $char;
    }

    return $res;
}
于 2014-10-30T19:32:00.187 回答
0

在您的正则表达式中使用不区分大小写的标志 ( i)/[a-z]/i

于 2014-10-28T21:51:54.727 回答
0

我知道这是一个老问题,但这样的事情怎么样?

function sql_regcase($field) {
    $field = preg_replace("/[^[:alnum:]]/i", "", $field);
    $field = str_replace("_", "\_", $field);
    $field = str_replace("%", "\%", $field);
    return $field;
}
于 2021-12-27T16:59:54.740 回答