我在一个项目中使用TinyMCE 4,在这个项目中,我需要能够用通过POST提交的HTML预先填充文本区域(用于服务器端错误处理,而不删除所有工作)
<textarea name="demo"><?=$_POST['demo']?></textarea>
但是,当用户提交包含不匹配的<textarea>
或</textarea>
标记的HTML时,会发生什么呢?
有标准的方法来管理这种风险吗?
输出时在php中使用htmlspecialchars($_POST['demo'])
仅从用户输入中删除<textarea>
标记。请使用正则表达式查看这篇文章。它告诉您如何仅删除某些标记(不像htmlentities
),后者会删除所有标记。
使用xmp标记而不是textarea。它将把html显示为自己。
例如:http://dadinck.x10.mx/xmp.html
htmlentities函数将把每个html字符(如<)替换为一个正确显示但不会破坏html的字符。http://www.php.net/manual/en/function.htmlentities.php