我有一个用于编辑文件、html、PHP等的PHP脚本。
它是整体工作的,除了当您输入文本区域表单字段时,例如:
<div>
& nbsp; or & amp;
</div>
特殊字符会自动转换为一个空格和一个&。
但文件编辑器的目的是准确地输入您需要的内容,并将其显示出来,因为html代码可能需要也可能不需要以实体形式编写,我不希望它们自动转换为非实体形式
使用htmlspecialchars时文档的视图源是:
<!DOCTYPE html PUBLIC>
<html>
<head>
<title>Test</title>
etc...
然后在浏览器中输出为:
<!DOCTYPE html PUBLIC> <html> <head> <title>Test</title> </head> <body> TEST x </body> </html>
我面临着唯一的困境。如果只是简单地从处理帖子数据中删除htmlspecialchar,那么,除了html实体自动转换为可读形式之外,一切都很好;nbsp;到空间,以及&;至amp;
有什么想法吗?我知道cPanel在他们的文件编辑器、net2ftp和许多其他基于web的文件文本编辑器中以某种方式做到了这一点。
感谢
如果您使用的是htmlspecialchar,它会将任何非字母数字的东西变成html实体,因此它实际上会在浏览器中渲染符号,而不是将其用作标记。您可能会将用户输入的内容存储为纯文本,然后在需要显示时将其回显到页面上。这个代码在我尝试的时候起了作用,因为我相信你正在尝试做什么。
<?php
$var = $_POST['var'];
echo $var;
?>
<form id='form' action='' method='post'/>
<textarea form='form' name='var'></textarea>
<input type='submit' value='submit'/>