これが誰にとっても便利かどうかわからない...私はしばらくこれと戦っていた...ここにあなたのすべてのリンク、javascript、コンテンツを修正するために使用できる素晴らしい正規表現があります。私は、誰も修正したくなかった大量のレガシーコンテンツに対処する必要がありました。
これをマスターページまたはコントロールのレンダリングオーバーライドに追加します。
これを間違った場所に置いたことで私を非難しないでください:
// remove the & from href="blaw?a=b&b=c" and replace with &
//in urls - this corrects any unencoded & not just those in URL's
// this match will also ignore any matches it finds within <script> blocks AND
// it will also ignore the matches where the link includes a javascript command like
// <a href="javascript:alert{'& & &'}">blaw</a>
html = Regex.Replace(html, "&(?!(?<=(?<outerquote>[\"'])javascript:(?>(?!\\k<outerquote>|[>]).)*)\\k<outerquote>?)(?!(?:[a-zA-Z][a-zA-Z0-9]*|#\\d+);)(?!(?>(?:(?!<script|\\/script>).)*)\\/script>)", "&", RegexOptions.Singleline | RegexOptions.IgnoreCase);