Textarea文件编辑php

时间:2012-01-11 07:44:24

标签: php html forms textarea htmlspecialchars

我有一个用于编辑文件,html,php等的PHP脚本。

除了当你进入textarea表单字段时,它正在全部工作,例如:

<div>
& nbsp; or & amp;
</div>

特殊字符会自动转换为空格,只是一个&符号。

但文件编辑器的目的是准确输入您需要的内容,并显示它,因为HTML代码可能或可能不必以实体形式编写,我不希望它们自动转换为非实体形式。 htmlspecialchars或htmlentities不起作用,因为整个文档转换为特殊字符

使用htmlspecialchars时文档的视图源是:

&lt;!DOCTYPE html PUBLIC&gt;

&lt;html&gt;

&lt;head&gt;

&lt;title&gt;Test&lt;/title&gt;

etc...

然后它在浏览器中输出为:

<!DOCTYPE html PUBLIC> <html> <head> <title>Test</title> </head> <body> TEST  x &nbsp; </body> </html>

我有这个唯一的困境。如果只是简单地删除htmlspecialchars来处理帖子数据,那么,除了html实体自动转换为可读形式之外,它完全正常工作,&amp; NBSP;太空,和放大器;和号&amp;

有什么想法吗?我知道cPanel设法在他们的文件编辑器,net2ftp和许多其他基于Web的文件文本编辑器中以某种方式做到这一点。

由于

1 个答案:

答案 0 :(得分:0)

如果您正在使用htmlspecialchars,它会将非字母数字的任何内容转换为html实体,因此它实际上会在浏览器中呈现该符号,而不是将其用作标记。您可以将用户输入的任何内容存储为纯文本,然后在需要显示时将其回显到页面。这个代码在我尝试的时候起作用了,我相信你要做的事情。

<?php
 $var = $_POST['var'];
 echo $var;

 ?>

<form id='form' action='' method='post'/>
<textarea form='form' name='var'></textarea>
<input type='submit' value='submit'/>