在php中回显输出时不需要的空格

时间:2017-03-15 07:53:19

标签: php html printing whitespace stdout

我目前正在尝试编写一个程序,将c程序的stdout输出输出到html中的文本区域(使用php)。

这就是我到目前为止:

<?php
    $output = shell_exec("./hello");
?>
<textarea name="view" cols="80" rows="24" readonly>
    <?php echo $output; ?>
</textarea>

这会输出正确的输出,但它会添加第一个字符的2个标签,而不是

Hello World!

打印

        Hello World!

这是我第一次使用php或html,所以我确信它很容易修复。我似乎无法在网上找到任何解决这个问题的内容,所以任何帮助都将不胜感激!

(以防万一c程序只是一个简单的hello世界,在终端打印得很好)。

2 个答案:

答案 0 :(得分:1)

这是因为<textarea>标记内的空格:

<textarea name="view" cols="80" rows="24" readonly>
    <?php echo $output; ?>
</textarea>

您的代码之间的文字将被视为textareas值。

因此,您的值将是4个空格,然后是echo语句的输出。

tl; dr :删除缩进(4个空格):

<textarea name="view" cols="80" rows="24" readonly>
<?php echo $output; ?>
</textarea>

答案 1 :(得分:1)

php标签之外的所有内容都“按原样”回显。因此,您在textarea中的<?php echo $output; ?>前面回显了两个标签。

试试这个:

<textarea name="view" cols="80" rows="24" readonly><?php echo $output; ?></textarea>