HTML只转义一些字符和字符组合?

时间:2013-01-13 14:14:37

标签: php html

我正在管理一个博客,其中少数几个人可以提交他们自己的文章和条目。我希望他们能够通过HTML(以及他们选择的粗体,斜体等文本)嵌入视频。如何在保持站点安全性的同时执行此操作?

如果我没有HTML逃脱实际的文章空间,打开的评论将破坏我的网站。有没有办法有选择地逃避某些字符组合?

编辑;希望没有编写我自己的解析器。我只想要简单的事情,例如<b><i>等标签未转义,以及视频和链接嵌入。

3 个答案:

答案 0 :(得分:3)

我使用SO使用的东西。它是开源的,并且有许多语言的解析器。

名称是 WMD ,问题"Where's the WMD editor open source project?"有一些QA材料概述了这个编辑器。

问题"running showdown.js serverside to conver Markdown to HTML (in PHP)"有一些质量保证材料,概述了PHP中的一些Markdown库。

答案 1 :(得分:0)

大多数网站(例如SO)使用的最简单的方法是引入您自己的特殊标记,然后将其转换为您想要的功能。

例如,SO使用星号(*)以斜体和(**)粗体显示(编辑:HTML标记旁边的 <b></b> 本身,请参阅这个答案的来源)。

其他网站使用[b][i]标记。您可以拥有一个[video=http://myvideo.com]标记,然后您的PHP将转换为相应的HTML实体。

答案 2 :(得分:0)

你可以安全地HTML逃脱一切。您的视频的网址不会受到您想要进行的任何转义的影响。