我正在局域网内构建一个小型搜索引擎。因为只有大约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 /等的任何类似问题
答案 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]);
}
吗?