在 php 中回显输出时不需要的空格
Unwanted whitespace when echoing output in php
我目前正在尝试编写一个程序,将 c 程序的标准输出输出到 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 world,在终端上打印正常)。
这是因为 <textarea>
标签内的空格:
<textarea name="view" cols="80" rows="24" readonly>
<?php echo $output; ?>
</textarea>
标签之间的文本将被视为文本区域值。
因此您的值将是 4 个空格,然后是 echo 语句的输出。
tl;dr:删除缩进(4 个空格):
<textarea name="view" cols="80" rows="24" readonly>
<?php echo $output; ?>
</textarea>
php 标签之外的所有内容都会回显 "as-is"。因此,您在文本区域内 <?php echo $output; ?>
前面回显了两个选项卡。
试试这个:
<textarea name="view" cols="80" rows="24" readonly><?php echo $output; ?></textarea>
我目前正在尝试编写一个程序,将 c 程序的标准输出输出到 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 world,在终端上打印正常)。
这是因为 <textarea>
标签内的空格:
<textarea name="view" cols="80" rows="24" readonly>
<?php echo $output; ?>
</textarea>
标签之间的文本将被视为文本区域值。
因此您的值将是 4 个空格,然后是 echo 语句的输出。
tl;dr:删除缩进(4 个空格):
<textarea name="view" cols="80" rows="24" readonly>
<?php echo $output; ?>
</textarea>
php 标签之外的所有内容都会回显 "as-is"。因此,您在文本区域内 <?php echo $output; ?>
前面回显了两个选项卡。
试试这个:
<textarea name="view" cols="80" rows="24" readonly><?php echo $output; ?></textarea>