2016-11-01 231 views
0

有沒有辦法讓PHP搜索並返回結果,無論大寫還是小寫字母的區別。我目前的代碼搜索,只能返回大小寫的確切結果。所以我把它全部寫成小寫字母,但是我想讓結果有正確的名字大寫字母。PHP搜索大寫和小寫字母

它通過LDAP進行搜索。該值是從Active Directory的信息,搜索是搜索的人的名字,並給予其結果如人

這裏的電話號碼等是我的代碼:

// Address Book Search 
$search .= "<div class='border'>\n"; 
$search .= "<h1>Search for Staff</h1>"; 
$search .= '<form class="search-form-wrapper" method="GET"> 
       <input type="text" name="q" id="search" placeholder="Search for Staff..." required> 
       <input type="submit" value="go" id="submit"> 
      </form><br><br>'; 

if (count($staff)) { 
    if (isset($_GET['q'])) { 
     $query = strip_tags($_GET['q']); 
     $query = str_replace('%27', "'", $query); 
     $query = strtolower($query); 
     $search .= "<table class='address_book'><tr><th>Name</th><th>Title</th><th>Phone</th><th>Mobile</th><th>Email</th><th>Dept</th></tr>\n"; 
     foreach ($staff as $key => $details) { 
      $details['displayname'] = strtolower($details['displayname']); 
      if(substr_count($details['displayname'], $query)){ 
      $search .= "<tr><td>{$details['displayname']}</td>\n"; 
      $search .= "<td>{$details['title']}</td>\n"; 
      $search .= "<td>{$details['telephonenumber']}</td>\n"; 
      $search .= "<td>{$details['mobile']}</td>\n"; 
      $search .= "<td><a href='mailto:{$details['mail']}'>{$details['mail']}</a></td>\n"; 
      $search .= "<td>{$details['department']}</td>\n"; 
      $search .= "</tr>\n"; 
      } 
     } 
     $search .= "</table>\n"; 
    } 
} 
$search .= "</div><br>"; 
+0

搜索哪裏,在db?看起來是這麼回事。確實有辦法;你有什麼價值觀?忽略大小寫。 –

+0

它通過LDAP進行搜索。這些值是來自Active Directory的信息,搜索正在搜索人員姓名,並給出該人員的結果(如電話號碼等)。 – Mooticus

+0

@Mooticus你應該看看這個:http://stackoverflow.com/questions/2017152/case-insensitive-ldap-searches – Phiter

回答

0

我用stristr($查詢)來搜索不區分大小寫。