我有一个php脚本用于编辑文件,html,PHP等。
它是完整工作的,除非您在文本区域表单域中输入,例如:
<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>我有一个也是唯一的两难选择。如果只是简单地删除处理post数据的htmlspecialchars,那么,除了html实体被自动转换为可读格式、空格和& amp;之外,一切都运行得很好。
有什么想法吗?我知道cPanel在他们的文件编辑器、net2ftp和许多其他基于web的文件文本编辑器中设法做到了这一点。
谢谢
发布于 2012-01-14 18:45:34
如果你使用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'/>
https://stackoverflow.com/questions/8815809
复制相似问题