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 に答える