求一个处理HTML的正则表达式
在用到HTML编辑器的时候,我希望只能使用指定的元素,而其他的全部不允许使用,比如:
string pattern = "<[^font|span|div|table|td|th|a|embed|img|p|ol|ul|li|blockquote|h1|h2|h3|h4|h5|h6|pre|hr|br|tbody|tr|strong|b|sub|sup|em|i|u|strike|s|del]";
上面的那些元素是可用的,如可以使用<font>、<a>、<b>等等,但是如果是“<”后面不是上面那些元素,那么系统就把“<”替换为“<”,那么这个正则表达式替换怎么写呢?
return System.Text.RegularExpressions.Regex.Replace(input, "这里是正则表达式", "这里怎么写?", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
[解决办法]
string result = Regex.Replace("你的HTML代码", "(?is)<(?!font
[解决办法]
span
[解决办法]
div
[解决办法]
table
[解决办法]
td
[解决办法]
th
[解决办法]
a
[解决办法]
embed
[解决办法]
img
[解决办法]
p
[解决办法]
ol
[解决办法]
ul
[解决办法]
li
[解决办法]
blockquote
[解决办法]
h1
[解决办法]
h2
[解决办法]
h3
[解决办法]
h4
[解决办法]
h5
[解决办法]
h6
[解决办法]
pre
[解决办法]
hr
[解决办法]
br
[解决办法]
tbody
[解决办法]
tr
[解决办法]
strong
[解决办法]
b
[解决办法]
sub
[解决办法]
sup
[解决办法]
em
[解决办法]
i
[解决办法]
u
------解决方案--------------------
strike
[解决办法]
s
[解决办法]
del).*?>", "<");