正则表达式禁止HTML标签?

CBa*_*arr 4 html regex

我需要一个允许除HTML标签之外的任何东西的正则表达式.这里的诀窍是,<和>字符被允许的,但只是不能与他们之间的文本(但是其他字符是罚款).

以下被允许:

hello world
!@$%^&*()_+'":;[]{}()\|#
<<<<<<<
>>>>>
<>
><
<087>
<-->
Run Code Online (Sandbox Code Playgroud)

以下将不会被允许

<html>
<a>
<foo>
<bar>
Run Code Online (Sandbox Code Playgroud)

我试过几个没有运气的表情.事实证明这比起初看起来要难得多(无论如何对我来说:P)

编辑:基本上,任何事情都是允许的,除了:A-Za-z之间<>角色.

Cam*_*ner 10

如果您这样做是为了防止在网站上注入HTML,那么更好的解决方案是在将HTML特殊字符发送到浏览器之前将其转义.大多数Web开发环境/库将有一个标准功能,要做到这一点,例如PHP具有htmlentitieshtmlspecialchars功能.