【发布时间】:2017-05-03 13:38:05
【问题描述】:
我有一个包含一些降价的文本区域。我不希望用户在其中发布 html,除非它位于 markdown 代码块中,例如
``` someLanguageCode
<span>some html inside markdown code block</span>
```
我不想在 markdown 代码块之外允许任何 html。所以这是非法的:
<span>some html tag outside code block</span>
<div>some more multiline html code outside
</div>
``` someLanguageCode
<span>some html inside markdown code block</span>
```
我能够获得单行 html 标记的正则表达式。 <([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>(.*?)<\/\1>
我做不到
- 得到一个支持多行html标签的正则表达式和
- 检查该html是否在markdown代码块之外。
我已经创建了一个jsfiddle 来解决这个问题,它显示了应该匹配或应该被拒绝的内容。
我这样做是为了避免明显的 XSS 注入。
【问题讨论】:
-
stackoverflow.com/a/1732454 您无法使用正则表达式解析 [X]HTML。
标签: javascript html regex xss