html代码作为textarea的值

时间:2013-08-19 13:54:20

标签: php html textarea cdata

我正在处理简单的代码编辑器,我有这个简单的HTML页面:

<div class="container">
<h1>Test</h1>
<p>Hello world !</p>
</div>

我需要创建一个简单的表单,允许我编辑此页面并保存更改,这是我的代码:

<?php
  $text = file_get_contents("test.html");
?>
<form method="POST">
    <fieldset>
        <textarea name="text"  value="<?php echo $text;  ?>" >
        </textarea>
        <button type="submit" class="btn">Send</button>
    </fieldset>
</form>

不幸的是,这不能正常工作并且它不会将所有html代码解析为文本,这是运行脚本后textarea的真正价值

<h1>Test</h1>
    <p>Hello world !</p>
</div>" >

它看起来像使用类声明解析div作为有效的html代码,而不是文本。

可能由"引起。

我也尝试过,但结果完全相同:

<textarea name="text"  value="<?php echo "<![CDATA[".$text."]]>";  ?>" >

有人可以帮助我将html页面的所有内容都作为textarea的值吗?

4 个答案:

答案 0 :(得分:3)

要向文本区域添加数据,您需要在<textarea>标记之间进行回显,而不是作为值。 (textarea文档)。

<textarea name="text"><?php echo $text;?></textarea>

答案 1 :(得分:1)

您可以使用以下其中一项

<textarea name="text"><?php echo $text;  ?></textarea>

or 

<textarea name="text"><?php echo htmlentities($text)  ?></textarea>

or 

<textarea name="text"><?php echo htmlspecialchars($text)  ?></textarea>

答案 2 :(得分:0)

您需要在代码<textarea></textarea>之间包含您的值:

<textarea name="text"><?php echo $text; ?></textarea>

答案 3 :(得分:0)

试试这个

这很简单

<textarea name="text" rows="10" cols="50"><?php echo $text; ?></textarea>

此处colsrowstextarea的属性。你不能放置你 该地方的价值。您可以将您的价值<?PHP echo $text;?>置于<textarea></textarea>

之间