Как отобразить вывод системной команды в браузере точно так же, как в терминале

Я использовал php shell_exec для запуска команды BLAST (инструмент выравнивания биологической последовательности) и выводит результат в браузер. Тем не менее, я не могу отформатировать результат так же, как он отображается когда я запускаю ту же команду в терминале . Я пытался использовать методы, такие как 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

1

Решение

Чтобы сохранить одинаковое форматирование, включая пробелы и т. Д., Следует использовать <pre> HTML-элемент. Пример:

echo '<pre>';
echo $result;
echo '</pre>';

Просто повторите необработанный результат. С помощью print_r или же var_dump приведет к форматированию с помощью PHP. Приведенный выше пример является наиболее необработанным форматированием, которое вы можете получить, если оставить результат без изменений.

С помощью CSS вы можете стилизовать <pre>, Но обязательно используйте шрифт MONOSPACE, чтобы сохранить форматирование оболочки.

3

Другие решения

Других решений пока нет …