我试图使用正则表达式来过滤给定字符串外的禁止HTML标记。是的,我知道,我应该使用解析器,但对于这个特定的问题,这种方法更快。正则表达式:逻辑取反捕获组或
这个想法是将每个标记都列入白名单(例如<span>, <b>, </br>
)并匹配被禁止的标记。到目前为止,我想出了以下表达式:<\/?(?!(span|b|br)).\>
它适用于单个字符标记,如<a>
,但像<label>
这样的东西不起作用。我真的很感谢一些帮助,在此先感谢。
我试图使用正则表达式来过滤给定字符串外的禁止HTML标记。是的,我知道,我应该使用解析器,但对于这个特定的问题,这种方法更快。正则表达式:逻辑取反捕获组或
这个想法是将每个标记都列入白名单(例如<span>, <b>, </br>
)并匹配被禁止的标记。到目前为止,我想出了以下表达式:<\/?(?!(span|b|br)).\>
它适用于单个字符标记,如<a>
,但像<label>
这样的东西不起作用。我真的很感谢一些帮助,在此先感谢。
此正则表达式将得到标签而忽略了跨度,BR,B开始和结束标记。
如果它们包含属性,它甚至应该忽略来自白名单的那些。
<\/?(?!(?:span|br|b)(?: [^>]*)?>)[^>\/]*>
这工作和语法是非常方便在我的情况。非常感谢! – fabs
它应该使用任何标签。使用'<\ /?(?!(label | span | br?)\ b)[^>] *>' –
不可以'
''多个字符可能你应该尝试'<\ /?(?!(span | br?)\ b)[^>] *> '? –