php弃用sql_regcase()的替代函数
我的代码如下:php弃用sql_regcase()的替代函数,php,posix,deprecated,pcre,alternate,Php,Posix,Deprecated,Pcre,Alternate,我的代码如下: foreach($filetypes as $filetype) { $filenum = $filenum + count(glob($root.$tree.$branch.sql_regcase($filetype),GLOB_NOSORT)); } 函数sql_regcase()已弃用。有人知道sql\u regcase()的替代方案吗? 我在下面试过,但我觉得不一样 $filenum = $filenum+count(glob($root.$tree.$branch
foreach($filetypes as $filetype)
{
$filenum = $filenum + count(glob($root.$tree.$branch.sql_regcase($filetype),GLOB_NOSORT));
}
函数sql_regcase()已弃用。有人知道sql\u regcase()
的替代方案吗?
我在下面试过,但我觉得不一样
$filenum = $filenum+count(glob($root.$tree.$branch.preg_mach("/$filetype/ig"),GLOB_NOSORT));
同样根据这一点,没有等效的函数。在正则表达式中使用不区分大小写的标志(i
),而不是/[a-z]/i
最后,我做了:
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;
}
preg_mach()
不是我使用它的替代方法。你看,preg_match()
返回的是真/假。另一方面,sql_regcase()
if$filetype='jPeG'
将创建如下模式:[Jj][Pp][Ee][Gg]
。因此,glob()
函数中的完整模式将是:/root/my_site/public\u html/images/[Jj][Pp][Ee][Gg]
和glob()
将匹配并返回文件夹中的每个jpeg
文件名(不区分大小写)。然后count()将进行计算并返回文件数(jpeg)。我不知道如何用另一种方法从$filetype
创建模式。我不确定如何与您联系。我使用这个代码片段在OpenCart中实现了不区分大小写的图像搜索。虽然我还没有将修改提交给一般社区,但我想让您知道我在评论部分对您(ioaniatr)进行了评分。非常感谢。