我有一种系统,每个人都可以输入任何他想要的东西。但是,它们似乎也可以使用< img SRC="..."/ >
,< a href="..." >< /a >
等标签。
PS:标签之间有空格,否则此网站的行为就像是网址,图片等。我的意思是没有空格,如果你还没想到的话。] < / p>
你怎么能完全阻止这个?例如,如果有人在<h1>Hello</h1>
中输入文字不会变大,但只会显示&lt; h1&gt;你好&lt; / h1&gt; (没有课程空间)。
如果无法做到这一点,请给我一个替代方案。
答案 0 :(得分:5)
要使HTML显示为书面形式,您需要“转义”特殊字符&amp;,&lt;和&gt;使用htmlspecialchars()
。
或者,您可以删除所有代码并使用strip_tags()
答案 1 :(得分:2)
答案 2 :(得分:1)
只需在要打印的字符串上使用htmlentities
答案 3 :(得分:1)
使用htmlspecialchars_decode()函数。它对我来说很好......
使用指南
带代码的文字
<Reference Include="System.Net.Http"/>
输出:
关于Lorem Ipsum的参考网站,提供有关其来源的信息,以及随机Lipsum生成器。
答案 4 :(得分:0)
特殊的charcaters或标签被视为不同的元素。 在将数据插入数据库之前,您可以使用 htmlspecialcharacters($ string_to_be_inserted)来转义html标记。
将删除所有html标记,并且只将文本插入数据库中。
希望这会有所帮助
答案 5 :(得分:0)
您还可以使用HTMLPurifier从用户输入中删除不需要的HTML标记