在目录中搜索文本文件中的字符串并返回行和文件名

问题描述 投票:0回答:1
我有 140 多个包含文字记录的文本文件。我希望能够在整个文件中搜索包含用户输入字符串的行,并显示该行以及与在其中找到该行的文件关联的链接。我可以将文件名与用户的链接相关联但我根本不清楚从哪里开始以有效的方式解决这个问题。或者 php 是否是执行此操作的正确语言。这将在网站上运行。

php html database search
1个回答
0
投票
您可以使用

grep

(如果您使用的是 Linux 机器)

<?php // In addition to escaping, the input should be validated and santitized $userInput = escapeshellarg('text'); // Run the command on all the files (* = all files) // -n include line numbers in the result, -I ignore binary $result = trim(`grep -In $userInput *`); // Break the result into an array by lines $lines = explode(PHP_EOL,$result); foreach ($lines as $l) { // The first output is the filename, followed by the line number $firstColon = strpos($l, ':'); if ($firstColon !== false) { $filename =substr($l,0,$firstColon); $link = <<<LINK <a href="$filename">$l</a> LINK; echo $link.PHP_EOL; } }
    
© www.soinside.com 2019 - 2024. All rights reserved.