小弟想寫個搜尋文件pdf的功能,目前可寫到單層搜尋
但如果要多個條件時(用空白隔做分行),該如何撰寫呢??
<?php
header("content-type:text/html; charset=utf-8");
$FileDir = dirname($_SERVER["SCRIPT_FILENAME"]);
if (!$_POST){$FilePDF=glob("$FileDir/*.pdf");}
else {$FilePDF=glob("$FileDir/*".$_POST["search"]."*.pdf");}
?>
<form id="Search" action="TCReportSearch.php" method="post">
<input name="search" type="text" class="form-control" placeholder="輸入搜尋關鍵字(僅限英文字搜尋)" aria-describedby="addon1">
</form>
<?php
header("content-type:text/html; charset=utf-8");
$FileDir = dirname($_SERVER["SCRIPT_FILENAME"]);
$keyword = $_POST["search"];
if (!$_POST) {
$FilePDF=glob("$FileDir/*.pdf");
} else {
// $FilePDF=glob("$FileDir/*".$_POST["search"]."*.pdf");
$allFilePDF=glob("$FileDir/*.pdf");
$FilePDF = array_filter($allFilePDF, "searchstr");
}
function searchstr($var) {
global $keyword;
$bRet = false;
$arrKeyword = explode(" ", $keyword);
foreach ($arrKeyword as $Key => $Value) {
if (strpos($var, $Value) === false) {
} else {
$bRet = true;
}
}
return $bRet;
}
?>
<form id="Search" action="TCReportSearch.php" method="post">
<input name="search" type="text" class="form-control" placeholder="輸入搜尋關鍵字(僅限英文字搜尋)" aria-describedby="addon1">
</form>
請教一下
您是學生寫作業
還是上班工作寫程式
謝謝大大回答,我們是公司用,不過只是臨時要寫個網頁用而已,所以不是本科系,常問些無聊問題,不好意思
明白了
沒問題
大大請問一下,這function迴圈好像只判斷到(只要有一個符合就送出$bRet)是不,我希望是全部符合才送出,不好意思再麻煩指點一下
原本預設值是false(只要有一個符合就算true)
現在改成
預設值是true(只要有一個找不到就算false)
修改如下
加減用
function searchstr($var) {
global $keyword;
$bRet = true;
$arrKeyword = explode(" ", $keyword);
foreach ($arrKeyword as $Key => $Value) {
if (strpos($var, $Value) === false) {
$bRet = false;
}
}
return $bRet;
}
太強了,謝謝大大指導
另外,我把strpos改成stripos以後可以不分大小寫搜尋
但是如果是中文就沒辦法搜尋,這有救嗎??
php 當然可以搜尋中文字串
不過我沒有跟你一樣的環境可以測試
你可以先 Google 「php strpos 中文」
先自己試著改改看
如果仍然不行
再發一個問題
「php 如何使用 strpos 搜尋中文」
並且把你改的不work的程式碼貼上來
再看看其他的php高手來回答