我使用php shell_exec运行BLAST命令(biologcal序列比对工具)并在浏览器中输出结果。但是,当我在终端中运行相同的命令时,我无法格式化与显示的结果相同的结果。我尝试使用passthru()和exec()等方法。它们都不起作用!在我的例子中,输出格式很重要,因为小空间可以产生错误(下面给出一部分)。任何人都可以告诉我如何在浏览器中显示结果与命令终端中的结果完全相同。
$cmd = "$blast -query /var/www/html/kim/blast/testing.txt -db /var/www/html/kim/blast/$db";
$result =shell_exec($cmd);
print_r ($result);
我的部分输出看起来像,
Query 707 TCAGACTTGAA 766
|||||||||||
Sbjct 3632 TCAGACTTGAA 3691
答案 0 :(得分:3)
为了保持格式相同,包括空格等,您应该使用<pre>
html元素。一个例子:
echo '<pre>';
echo $result;
echo '</pre>';
回应原始结果。使用print_r
或var_dump
会导致PHP格式化。上面的示例是您可以实现的最原始格式,只要您保持结果不变。
使用CSS,您可以设置<pre>
的样式。但请确保使用MONOSPACE字体,以便保留shell格式。