我创建了一个表单,用户可以输入html代码并在另一个textarea中输出代码。问题是如果用户输入的html在代码中有一个textarea,他们的代码就会破坏我的textarea表单。我看到其他网站正确显示任何HTML,所以如何在不破坏表单的情况下完成,并允许用户复制它以便它仍然保留为而不是一些转换后的代码,以便将它们粘贴到他们的网页上?
啊废话是啊我想通了,实际上问题不在于单独的htmlspecialchars代码我忘了添加一个返回我的功能之一哈哈。谢谢你们。
答案 0 :(得分:4)
使用实体表示HTML中具有特殊含义的字符。由于您使用的是PHP,请使用htmlspecialchars
答案 1 :(得分:0)
有数以百万计的方法可以做到这一点。最简单的方法是在用户的输入上使用htmlspecialchars
或htmlentities
。这将在textarea框中创建一个视觉</textarea>
而不关闭它。这实际上将其变为</textarea>
。 htmlspecialchars
转换的字符少于htmlentities
,并且在这种情况下使用通常更有意义,但是要进行研究。
strip_tags()
也是一种可能性。
您还可以使用PCRE的正则表达式,甚至str_replace()或其他字符串操作函数来去除textarea,转换特殊字符等。
PECL也可作为BB代码扩展,如果您仍希望用户能够输入一些标签来设置其输出样式,则可以使用它。
答案 2 :(得分:-1)
<textarea><?php echo htmlentities($code); ?></textarea>
答案 3 :(得分:-1)
您必须将html代码转换为符号,因此不会将其视为html。
在回显之前,在textarea内容上使用函数htmlentities()
。