我的页面上有一个正则表达式以允许 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")]
我的页面上有一个正则表达式以允许 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")]
你改变这一点
<p>
对此
<p( style=)?>
但大概你想在你的风格标签中允许内容,比如<p style="width:20">
这可能是
<p( style="[^"]*")
那么单引号呢?<p style='width:20'>
<p( style=["'][^"']*["'])
但真正的答案是不要使用正则表达式来解析HTML,它必然会出错。我不使用 asp.net,但我想有可用的库。
将部分更改<p>
为:
<p( style=('[^']*'))?>
请注意?
这使得样式可选。
支持“引用”样式。如果您愿意,您可以使用“双引号”样式执行类似的操作。