我有一个用于编辑文件,html,php等的PHP脚本。
除了当你进入textarea表单字段时,它正在全部工作,例如:
<div>
& nbsp; or & amp;
</div>
特殊字符会自动转换为空格,只是一个&符号。
但文件编辑器的目的是准确输入您需要的内容,并显示它,因为HTML代码可能或可能不必以实体形式编写,我不希望它们自动转换为非实体形式。 htmlspecialchars或htmlentities不起作用,因为整个文档转换为特殊字符
使用htmlspecialchars时文档的视图源是:
<!DOCTYPE html PUBLIC>
<html>
<head>
<title>Test</title>
etc...
然后它在浏览器中输出为:
<!DOCTYPE html PUBLIC> <html> <head> <title>Test</title> </head> <body> TEST x </body> </html>
我有这个唯一的困境。如果只是简单地删除htmlspecialchars来处理帖子数据,那么,除了html实体自动转换为可读形式之外,它完全正常工作,&amp; NBSP;太空,和放大器;和号&amp;
有什么想法吗?我知道cPanel设法在他们的文件编辑器,net2ftp和许多其他基于Web的文件文本编辑器中以某种方式做到这一点。
由于
答案 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'/>