1

php shell_exec を使用して BLAST コマンド (生物学的配列アラインメント ツール) を実行し、結果をbrowserに出力しました。ただし、ターミナルで同じコマンドを実行したときに表示される結果と同じようにフォーマットすることはできません。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
4

1 に答える 1

3

スペースなどを含めてフォーマットを同一に保つには、<pre>html 要素を使用する必要があります。例:

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

生の結果をエコーするだけです。print_rorを使用var_dumpすると、PHP による書式設定が行われます。上記の例は、結果をそのままにしておけば、達成できる最も生のフォーマットです。

CSS を使用すると、スタイルを設定できます<pre>。ただし、シェルの書式設定が維持されるように、必ず MONOSPACE フォントを使用してください。

于 2015-03-18T08:41:53.450 に答える