首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >处理混合HTML和用户输入的最佳方法是什么?

处理混合HTML和用户输入的最佳方法是什么?
EN

Stack Overflow用户
提问于 2018-05-30 06:01:38
回答 2查看 0关注 0票数 0

在我写的一个PHP应用程序中,我希望让用户在文本中输入HTML和带尖括号的文本,但是当我显示此文本时,我想让HTML标记由非HTML标记被示为文学作品,例如用户应该能够输入:

<b> 5 > 3 = true</b>

显示时,用户应该看到:

5> 3 =true

什么是解析这个最好的方法,即找到所有非HTML括号,将它们转换为&gt; 和<?

EN

回答 2

Stack Overflow用户

发布于 2018-05-30 14:31:28

我建议让用户输入BBcode风格标记,然后用html标记替换它:

[b]This is bold[/b]
[i]this is italic with a > 'greater than' sign there[/i]

这使你可以更好地控制如何将用户输入解析为html。

票数 0
EN

Stack Overflow用户

发布于 2018-05-30 15:09:04

如果你允许用户输入HTML,那么你必须解决一个比几个未转义的斜角括号更大的问题; HTML非常难以正确验证和过滤,如果你做得不对,你就会面临XSS攻击。

然而,要回答你的问题,将散列角度括号转换为其转义形式的最简单方法是使用DOM / libxml解析HTML,然后对其进行重新序列化。任何使用正则表达式或类似的东西都将注定会因边缘情况而失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档