【问题标题】:Unwanted whitespace when echoing output in php在 php 中回显输出时不需要的空格
【发布时间】:2017-08-05 20:17:37
【问题描述】:

我目前正在尝试编写一个程序,将 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 world,可以在终端上正常打印)。

【问题讨论】:

    标签: php html printing whitespace stdout


    【解决方案1】:

    这是因为&lt;textarea&gt; 标签内的空格:

    <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>
    

    【讨论】:

      【解决方案2】:

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

      试试这个:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-27
        • 1970-01-01
        • 2019-03-08
        • 2018-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多