Php 搜索文本文件,并显示结果?

Php 搜索文本文件,并显示结果?,php,html,search,text-search,Php,Html,Search,Text Search,如果从用户处获取输入,并且我希望在文件中搜索任何结果,并显示结果: $searchValue = $_POST['search']; $handle = @fopen("home.txt","r"); # read line by line while (($buffer = fgets($handle, 4096)) !== false && // the condtion for the $searchValue) { echo '<tr>';

如果从用户处获取输入,并且我希望在文件中搜索任何结果,并显示结果:

$searchValue = $_POST['search'];

$handle = @fopen("home.txt","r");
# read line by line
while (($buffer = fgets($handle, 4096)) !== false && // the condtion for the $searchValue) {
    echo '<tr>';
        $array = explode(',', $buffer);
    foreach($array as $val){
         echo '<td>'.$val.'</td>';      
        } 
    echo '</tr>';       
}
$searchValue=$\u POST['search'];
$handle=@fopen(“home.txt”,“r”);
#逐行阅读
while(($buffer=fgets($handle,4096))!==false&&//$searchValue的条件){
回声';
$array=explode(“,”,$buffer);
foreach($val形式的数组){
回显“.$val.”;
} 
回声';
}

我不知道我要做什么,我只想用相关的$searchvalues显示文本文件中的行

返回haystack字符串中第一个出现的指针的数字位置


以整数形式返回位置。如果找不到指针,strpos()将返回布尔值FALSE。

我甚至建议使用file命令:

array file  ( string $filename  [, int $flags = 0  [, resource $context  ]] )
读取中的文件,每行作为数组中的元素。从这里开始,您将迭代每一行(您提到返回文件中匹配的行,这就是为什么我建议使用文件(…):


那么你想在txt文件中搜索关键字/短语,并在有匹配项的情况下显示该行吗?是的,谢谢@raul指出它谢谢,对于post+1,你所说的文件命令是什么意思文件与fopen、fgets、fclose相同,但为你做了所有的工作。它接收一个文件并加载一个数组,每一行都包含一个文件。因此,我发现在一行中获取一个文件并将其放入$var中要干净得多(虽然我从未正式测试过性能,但我会/假设/[永远不会好到]PHP打开、解析和clsoe文件会比自己更快)
array file  ( string $filename  [, int $flags = 0  [, resource $context  ]] )
if (($fileLines = file('home.txt')) !== false)
{
  foreach ($fileLines as $line)
  {
    if (strpos($line, $searchVal) !== false)
    { // match found
      echo '<tr><td>'.str_replace(',','</td><td>',trim($line)).'</td></tr>';
    }
  }
}
$values = explode(',',$line);
// array search (while entries)
if (in_array($searchVal,$values)) { ... }
// array search with partial matches
foreach ($values as $val) {
  if (strpos($val,$searchVal) !== false) { ... }
}