Normal 0 21 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tableau Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} ''' <summary> ''' Offusque et nettoie le code ''' </summary> ''' <param name="CSSFile">Source CSS</param> ''' <remarks></remarks> Private Sub ObfuscateCSS(ByRef CSSFile As String) 'Suppression des retours à la ligne CSSFile = CSSFile.Replace(ControlChars.NewLine, "") 'Suppression des commentaires Dim CommentsRegEx As New Regex("/\*[\d\D]*?\*/") CSSFile = CommentsRegEx.Replace(CSSFile, "") 'Remplacement des tabulations par des espaces CSSFile = CSSFile.Replace(ControlChars.Tab, " ") 'Nettoyage complet du CSS Dim NewCSS As String = Nothing 'On extrait un bloc (Nom de la classe + propriétés) For Each Block As String In CSSFile.Split("}"c) 'On extrait les noms des classes concernées If Block.Trim().Split("{"c).Length < 2 Then Exit For Dim ClassesNames() As String = Block.Trim().Split("{"c)(0).Trim().Split(","c) 'Pour chaque nom de classe For Each ClassName As String In ClassesNames If String.IsNullOrEmpty(ClassName) Then Exit For 'On nettoie le nom de la classe For Each NamePart As String In ClassName.Trim().Split(" ") If Not String.IsNullOrEmpty(NamePart) Then NewCSS &= NamePart.Trim() & " " Next NewCSS = NewCSS.TrimEnd(" ") ' On supprime l'espace en trop NewCSS &= "," 'On ajoute une virgule Next NewCSS = NewCSS.TrimEnd(",") 'On supprime la virgule en trop NewCSS &= "{" 'On ajoute la première accolade 'On extrait les couples propriétés-valeurs Dim PropertiesValues() As String = Block.Trim().Split("{"c)(1).Trim().Split(";"c) 'Pour chaque couple For Each PropertyValue As String In PropertiesValues If String.IsNullOrEmpty(PropertyValue.Trim()) Then Exit For 'On ajoute la propriété et la valeur NewCSS &= PropertyValue.Split(":"c)(0).Trim() & ":" & PropertyValue.Split(":"c)(1).Trim() & ";" Next NewCSS &= "}" 'On ajoute la dernière accolade Next 'On retourne le nouveau CSS CSSFile = NewCSS End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.