HTML / PHP - Textarea显示代码中的选项卡/空格

时间:2013-04-08 02:41:08

标签: php html textarea form-fields

出于可读性的原因,我有一个如下代码:

        <textarea cols="50" rows="5"  id="k99_brsa_settings[brsa_keep_settings_exp]"  name="k99_brsa_settings[brsa_keep_settings_exp]" />
            <?php echo $export; ?>
        </textarea>

我不知道如何在这里表示/显示tabs,但实际上是这样的:

[TAB][TAB][TAB][TAB]<textarea cols="50" rows="5" id="k99_brsa_settings[brsa_keep_settings_exp]"  name="k99_brsa_settings[brsa_keep_settings_exp]" />
[TAB][TAB][TAB][TAB][TAB]<?php echo $export; ?>
[TAB][TAB][TAB][TAB]</textarea>

或更好的图像(代码编辑器):

Code tabs in editor

问题是,这些选项卡如下所示出现在输出中:

Tabs appear in textarea

因为这些是DB条目,所以当我保存时,它实际上会更改条目(添加标签和空格)

我知道当我将代码更改为one liner

<textarea cols="50" rows="5"  id="k99_brsa_settings[brsa_keep_settings_exp]" name="k99_brsa_settings[brsa_keep_settings_exp]" /><?php echo $export; ?></textarea>

(来自下面的代码编辑器的图片)

Image with one liner

...没有问题,也没有标签/空格。

有没有办法让标签保持可读性并消除那些输出标签和空格? <textarea> TAGS总是必须在没有空格的输出之后结束

3 个答案:

答案 0 :(得分:2)

您仍然可以使用

将其保留在多行中
<textarea ...><?php

?></textarea>

或者你可以这样做:

<?php
    echo "<textarea line1>"
        . $export
        . "</textarea>";
?>

答案 1 :(得分:0)

我猜你可以尝试将额外的空格修剪为单个空格。或者更改标记以删除标签。

<?php
    // This will replace any double whitespace with a single whitespace
    $result = str_replace('  ', ' ', $result);
?>

答案 2 :(得分:0)

另一种方法是将<?php echo $export; ?>替换为<?= $export ?>来缩短你的php。将它全部放在一条线上可能会让你感觉更好。

我知道人们不建议使用短标签,但是根据http://php.net/manual/en/language.basic-syntax.phpmode.php,短标记语法将始终被php 5.4及更高版本识别。