Я использовал 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
Чтобы сохранить одинаковое форматирование, включая пробелы и т. Д., Следует использовать <pre>
HTML-элемент. Пример:
echo '<pre>';
echo $result;
echo '</pre>';
Просто повторите необработанный результат. С помощью print_r
или же var_dump
приведет к форматированию с помощью PHP. Приведенный выше пример является наиболее необработанным форматированием, которое вы можете получить, если оставить результат без изменений.
С помощью CSS вы можете стилизовать <pre>
, Но обязательно используйте шрифт MONOSPACE, чтобы сохранить форматирование оболочки.
Других решений пока нет …