如何使文本区域输出文本区域代码而不中断


How to make a textarea ouput textarea code without breaking?

我创建了一个表单,用户可以在其中输入html代码,并在另一个文本区域输出他们的代码。问题是,如果用户输入的html在代码中有一个文本区域,他们代码中的会破坏我的文本区域表单。我看到其他网站正确显示任何html,那么如何在不破坏表单并允许用户复制它的情况下做到这一点,使它仍然保持原样,而不是一些转换后的代码,以便他们可以将其粘贴到网页上?

啊,糟糕,是的,我想明白了,事实上问题不在于htmlspecialchars代码,我忘了给我的一个函数添加一个返回,哈哈。谢谢大家。

使用实体表示HTML中具有特殊含义的字符。由于您使用的是PHP,请使用htmlspecialchars

有无数种方法可以做到这一点。最简单的方法是在用户的输入中使用htmlspecialcharshtmlentities。这将在文本区域框中生成一个可视的</textarea>,而不关闭它。这实际上将它变成了&lt;/textarea&gt;htmlspecialchars转换的字符比htmlentities少,在这种情况下使用通常更有意义,但请进行研究。

CCD_ 7也是一种可能。

您还可以将正则表达式与PCRE一起使用,甚至可以使用str_replace((或其他字符串操作函数来剥离文本区域、转换特殊字符等。

PECL也是一个BB代码扩展,如果你仍然希望你的用户能够输入一些for of标签来设计他们的输出,你可以使用它。

<textarea><?php echo htmlentities($code); ?></textarea>

您必须将html代码转换为符号,因此它不会被视为html。

在回显文本区域内容之前,请对其使用函数htmlentities()