我正在管理一个博客,其中少数几个人可以提交他们自己的文章和条目。我希望他们能够通过HTML(以及他们选择的粗体,斜体等文本)嵌入视频。如何在保持站点安全性的同时执行此操作?
如果我没有HTML逃脱实际的文章空间,打开的评论将破坏我的网站。有没有办法有选择地逃避某些字符组合?
编辑;希望没有编写我自己的解析器。我只想要简单的事情,例如<b>
,<i>
等标签未转义,以及视频和链接嵌入。
答案 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逃脱一切。您的视频的网址不会受到您想要进行的任何转义的影响。