如何摆脱textarea中的额外空间?

时间:2011-06-25 15:57:04

标签: php html

我正在生成一个HTML表单,其中包含文本区域中的一些代码。

生成的HTML如下所示:

<textarea id="message" name="message"
    rows="18" cols="40">The quick brown fox
    <?php echo $page_url;?>
</textarea>

在浏览器中呈现页面时,它看起来像这样:

The quick brown fox
         http://www.example.com

我无法解释它,因为变量不包含前导空格 - 并且也没有应用CSS样式。

任何人都可以想到可能导致这种情况的原因吗?

7 个答案:

答案 0 :(得分:6)

<textarea>内的空格按原样呈现,与HTML不同,后者将连续的空格呈现为一个空格。

<textarea id="message" name="message"
    rows="18" cols="40">The quick brown fox<?php echo $page_url;?></textarea>

答案 1 :(得分:2)

Textareas尊重空间和换行符。它与html文档本身的行为不同。

答案 2 :(得分:1)

<?php echo ..左侧有一些空格(或标签)。它们将被显示。多个空格不会在Textarea中删除。

<textarea id="message" name="message"
    rows="18" cols="40">The quick brown fox
<?php echo $page_url ?>
</textarea>

答案 3 :(得分:1)

只是你缩进代码......

试试:

<textarea id="message" name="message"
    rows="18" cols="40">The quick brown fox
<?php echo $page_url;?>
</textarea>

答案 4 :(得分:1)

空格保存在文本区域中。

var te = document.createElement('textArea');
te.innerHTML = 'asddf   asdf\n                  http';
document.body.appendChild(te);

^我刚刚在firebug中运行了一些测试代码来演示

要修复你想要的东西

<textarea>some test<?=$var?></textarea>

答案 5 :(得分:0)

不需要在文本区域内使用新行,而渲染时将新行视为一些空格。

答案 6 :(得分:0)

文本区域显示神秘的空间,因为它考虑了<textarea>标签之外的所有空格,换行符(使用输入按钮)。删除这些额外的空格或换行符后,<textarea>
<php? echo $var; ?>
</textarea>
应如下所示。 <textarea><php? echo $var; ?></textarea>