我目前正在尝试编写一个程序,将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世界,在终端打印得很好)。
答案 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>