Les Snippets

Connexion

Offusquer et nettoyer un code CSS

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 26/06/2008 23:00:40 et initié par anthonygego [Liste]
Vue : 3096
Catégorie(s) : Compression & Split, Web, Regex
Langages dispo pour ce code :
- VB 2005, VB 2008



Langage : VB 2005 , VB 2008
Date ajout : 26/06/2008
Posté par anthonygego [Liste]
    

    ''' <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

Remarque :
Offusque : affiche tout sur une même ligne
Nettoie : Supprime les espaces "parasites"
Cette fonction a été conçue à la base pour travailler le code plus facilement. Ne gère pas très bien les erreurs CSS...

Snippets en rapport avec : Espaces, Code, Css, Offusquer, Nettoyer



Codes sources en rapport avec : Espaces, Code, Css, Offusquer, Nettoyer

{PHP} COMPRESSER (MINIMISER) UN FICHIER CSS
Cette classe vous permet de minimiser le contenu d'un fichier CSS afin de réduire la taille de vos f...

{Visual Basic, VB6, VB.NET, VB 2005} TABLEAU ASCII - RETROUVER FACILEMENT LE CODE ASCII D'UN CARACTÈRE ET INVERSEMENT
Ce projet est un petit tableau ASCII allant du code 0 à 255. On peux regarder rapidement dans le t...

{Visual Basic, VB6, VB.NET, VB 2005} HAPPY LAND - 3D VB6 GAME - OPEN SOURCE CODE
HappyLand is open source 3d game, written in vb6 using DirectX 8.1 and Truevision3D , Download Li...

{Visual Basic, VB6, VB.NET, VB 2005} METAL GEAR SOLID - 3D VB6 GAME - OPEN SOURCE
Metal Gear Solid - VB6 Clone Open Source Code of Metal Gear Solid, Now on VB 6.0 ! Download ...

{Visual Basic, VB6, VB.NET, VB 2005} FIGHT COMBAT II - 3D VB GAME - OPEN SOURCE
Fight Combat II - 3D VB6 Game - Open Source Download Link : http://yazanmarkabi.webs.com/vb60/do...

{Visual Basic, VB6, VB.NET, VB 2005} STREET FIGHTER - 3D VB GAME - OPEN-SOURCE
Street Fighter 3D Open-Source Game, written in VB6 - Direct Download : http://zanazeen.webs.com...

{Visual Basic, VB6, VB.NET, VB 2005} CODAGE ET DÉCODAGE DE NOMBRE OU DE CHIFFRE
cet source permet au débutant de comprendre la cryptographie, c'est à dire de rendre un code incompr...

{Javascript / DHTML} MENU CIRCULAIRE
Les items tournent dans le sens des aiguilles d'une montre. Ce peut être des images comme dans l'exe...

{Visual Basic, VB6, VB.NET, VB 2005} CAPTCHA : CODE DE SÉCURITÉ ANTI-ROBOT
Bonjour à tous, voila le code qui manquait à vbfrance. Il permet de différencier un humain d'un ordi...

{Javascript / DHTML} LIBRAIRIE DE GESTION DES COULEURS POUR CSS : COLORPARSER
Ceci est une petite librairie qui reconnait tous les formats de couleurs possible jusqu'à CSS3. Ell...