如何突出显示要下载的文件中的字符串?

时间:2019-05-30 03:39:15

标签: php highlight

我有一个文本文件“ output.txt”,它是shell命令的输出。我想突出显示该文件中某些单词,该单词被当作$ _GET ['word'],然后允许使用href下载。

我看到了多个问题,但在这种情况下似乎没有一个起作用。

  1. Highlight multiple keywords from a given string
  2. highlight the word in the string, if it contains the keyword

代码:

$cmd = shell_exec("/usr/local/bin/clustalw2 -infile=input.txt -tree -type=protein -case=upper &");
$file = 'output.txt';
$content = explode("\n",file_get_contents("output.txt"));
$keyword = $_GET['word'];
$content = str_replace($keyword,'<span style="color:red">'.$keyword.'</span>',$content);
$file = file_put_contents($file, $content);
echo "<a href='http://some.thing.com/folder/output.txt'>Download Result file</a>";

突出显示文本也没有任何错误。

1 个答案:

答案 0 :(得分:0)

我怀疑麻烦在于打开初始文件。以下对我有用。

我创建了/home/input.txt:

this is a test
that may
or may not work.

然后跑了

$cmd = shell_exec(" cp /home/input.txt output.txt");
$file = 'output.txt';
$content = explode("\n",file_get_contents("output.txt"));
$keyword = "may";
$content = str_replace($keyword,'<span style="color:red">'.$keyword.'</span>',$content);
$file = file_put_contents($file, implode("\n", $content));
echo "<a href='http://some.thing.com/folder/output.txt'>Download Result file</a>";

现在output.txt是:

this is a test
that <span style="color:red">may</span>
or <span style="color:red">may</span> not work.