我在一个项目中使用TinyMCE 4,我需要能够使用通过POST提交的HTML预填充textarea(用于服务器端错误处理而不删除所有工作)我知道textarea工作主要类似于标签,因为内部的HTML不会被解析为DOM,因此大多数网站都会显示演示:
<textarea name="demo"><?=$_POST['demo']?></textarea>
但是当用户提交包含不匹配的<textarea>
或</textarea>
代码的HTML时会发生什么?
是否有管理此风险的标准方法?
答案 0 :(得分:1)
在输出
时在php中使用htmlspecialchars($_POST['demo'])
答案 1 :(得分:0)
仅从用户输入中删除<textarea>
标记。请使用正则表达式查看this帖子。它告诉您如何仅删除删除所有标记的某些标记(与htmlentities
不同)。
答案 2 :(得分:0)
htmlentities函数会将每个html字符(例如&lt;)替换为正确显示但不会破坏你的html的字符。 http://www.php.net/manual/en/function.htmlentities.php
答案 3 :(得分:0)
使用xmp标签而不是textarea。它会将html显示为自己。