Я пытаюсь использовать регулярное выражение для фильтрации запрещенных тегов HTML из заданной строки. Да, я знаю, я должен использовать парсер вместо этого, но для этой конкретной проблемы это происходит быстрее.Regex: группа захвата отмены с логическим или
Идея состоит в том, чтобы присваивать белый список каждому тегу, который в порядке (например, <span>, <b>, </br>
), и соответствовать запрещенным. До сих пор я придумал следующее выражение: <\/?(?!(span|b|br)).\>
Это хорошо работает для одиночных тэгов, таких как <a>
, но такие вещи, как <label>
, не работают. Я очень благодарен за помощь, спасибо заранее.
Он должен работать с любым тегом. Используйте '<\ /? (?! (Label | span | br?) \ B) [^>] *>' –
Нет '
Возможно, вам стоит попробовать '<\ /? (?! (Span | br?) \ B) [^>] *> '? –