如何使preg_quote不区分大小写?

时间:2016-04-30 05:41:57

标签: php html search

我正在局域网内构建一个小型搜索引擎。因为只有大约25页,所以我使用bash脚本来获取URL列表并将它们格式化为HTML,例如:

<div id="result"><p><a href="#">Title 1</a></p><p>Description 1</p></div>
<div id="result"><p><a href="#">Title 2</a></p><p>Description 2</p></div>

然后是一个PHP脚本,它从上面的每一行搜索GET输入,并返回每个匹配的行。 我的问题是,如何使这个搜索案例不敏感?我的PHP代码如下:

<?php
 // index.php

include('inc/header.html');
  $searchfor = $_GET['q'];

         $file = 'inc/urls.txt';

   $contents = file_get_contents($file);
     $pattern = preg_quote($searchfor, '/');
    $pattern = "/^.*$pattern.*\$/m";

     if(preg_match_all($pattern, $contents, $matches)){
            echo "<p>Found matches:</p>";
       echo implode("<br />", $matches[0]);
      }
       else{
             echo "<p>No matches found.</p>";
        fclose ($file); 
         }
include('inc/footer.html');
?>

我知道这可能相当明显,而且我在preg_quote附近寻找/ i,但我是PHP的新手并且似乎无法找到回答,也没有关于SE / SO /等的任何类似问题

1 个答案:

答案 0 :(得分:2)

你试过这个public function productSearch(Request $request){ $searchResult = new Product; if($request->has('search') && !empty($request->get('search')) && $request->get('search') !== 'all') { $searchResult = $searchResult->where("pName", "like", '%'.$request->get('search')); } $searchResult = $searchResult->get(); return view('products',['products' => $searchResult]); } 吗?