0

我的页面上有一个正则表达式以允许 HTML 的某些标签我允许“p”但是如果有人输入“p style=”它会显示为无效字符我该如何更改它以允许“p style=”

[AllowHtml]
    [RegularExpression(@"^([^<]|<em>|</em>|<p>|</p>|<i>|</i>|<b>|</b>|<strong>|</strong>|a z|A Z|1 9|(.\.))*$", ErrorMessage = "Invalid character")]
4

2 回答 2

0

你改变这一点

<p>

对此

<p( style=)?>

但大概你想在你的风格标签中允许内容,比如<p style="width:20">

这可能是

<p( style="[^"]*")

那么单引号呢?<p style='width:20'>

<p( style=["'][^"']*["'])

真正的答案是不要使用正则表达式来解析HTML,它必然会出错。我不使用 asp.net,但我想有可用的库。

于 2012-12-24T01:37:25.553 回答
0

将部分更改<p>为: <p( style=('[^']*'))?>

请注意?这使得样式可选。

支持“引用”样式。如果您愿意,您可以使用“双引号”样式执行类似的操作。

于 2012-12-24T01:38:35.430 回答