区分大小写

时间:2015-08-28 14:29:36

标签: php case

我在网上发现了一个非常适合我的php搜索脚本。我虽然有案例敏感性的问题。此搜索链接到html表单输入,并且仅返回与搜索的案例匹配的结果。有办法解决这个问题吗?

<?php
   //////////////////////
  // © Nadav Ami 2009 //
 //     Version 1.2  //
 //     Edited By  //
 //    Geoff Bolton //
//////////////////////


function scandir_r($dir){
$files = array_diff(scandir($dir), array(".", ".."));
$arr = array();
    foreach($files as $file){
    $arr[] = $dir.DIRECTORY_SEPARATOR.$file;
        if(is_dir($dir.DIRECTORY_SEPARATOR.$file)){
        $arr = array_merge($arr, scandir_r($dir.DIRECTORY_SEPARATOR.$file));
        }
    }
return($arr);
}

$dirname = "./";
$findme = "/".preg_quote($_POST["search"], "/")."/";
$files = preg_grep($findme, scandir_r($dirname));
if(sizeof($files)){
    foreach($files as $file){
    $_file = $dirname.DIRECTORY_SEPARATOR.$file;
    echo "<a href=\"$_file\">$file</a><br/>";
    }
}
else{
echo "Nothing was found.";
}
?>

1 个答案:

答案 0 :(得分:1)

您可以使用不区分大小写的搜索。它在preg_match(http://php.net/manual/en/function.preg-match.php)的第一个示例中进行了演示,并且也适用于preg_grep。所以这应该可以解决问题:

// [...]
$findme = "/".preg_quote($_POST["search"], "/")."/i";
// [...]