asp.Netバックグラウンドhtmlのspanラベルのフィルタリングとstyle属性の除去

899 ワード

この2,3日Appのユーザープロトコルとプライバシーポリシーhtmlファイルを作って、フロントエンドの人がいないので、自分に渡しました.
自分で先にバックグラウンドエディタを作って、ueditorは先に文字の内容を保存して、バックグラウンドを通って、ライブラリに保存した後、自動的に追加したことを発見して、ラベルとスタイル.
自分の今の需要は:1、ラベルを保留して、しかしスタイルではありません;2、ラベルを削除します.
コードは次のとおりです.
public string SHTML(string html)
        {
            //    style  
            var content = Regex.Replace(html, @"style\s*=(['""\s]?)[^'""]*?\1", "");
            //   h1、h4、strong、h5、h6、ul、li、p  
            string stringPattern = @"?(?(?=h1|h4|strong|h5|h6|ul|li|strong|p| @)notag|[a-zA-Z0-9]+)(?:\s[a-zA-Z0-9\-]+=?(?:(["",']?).*?\1?)?)*\s*/?>";
            var html1 = Regex.Replace(content, stringPattern, "");
            return html1;
        }

最後にフィルタリングに成功しました.
参照ドキュメント:
c#フィルタstyle
C#htmlラベルをフィルタし、ラベルを指定する方法を保持
.NET MVCフロント文字列のラベルを削除