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 : 592
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

{ASP / ASP.NET} GESTION DES SKIN
Cette source permet de choisir entre différents skin établis par des feuilles de style (css). 1. ...

{PHP} CODE BARE!!!
Je créé un code barre a 8 chiffres de manière entièrement aléatoire! je ne génère plus ce code en fo...

{Visual Basic, VB6, VB.NET, VB 2005} GÉNÉRATEUR DE CODES À BARRES (EAN8, EAN13, EAN13+2 ET EAN13+5)
Bonjour, Dans le cadre d'un important projet, j'avais besoin de générer des codes à barres. Prin...

{Visual Basic, VB6, VB.NET, VB 2005} AFFICHAGE DES LIGNES D'UN RICHTEXTBOX
Voici une classe permet d'afficher les lignes d'un RichTextBox. La méthode utilisée est la recherch...

{Javascript / DHTML} XSTYLE : STYLE ETENDU
xs se substitue au css. permet de - passer des functions en tant que style. - faire de l'héritag...

{Visual Basic, VB6, VB.NET, VB 2005} BESOIN DE SUGGESTIONS
Bonjour, cette source fait suite a mon message sur le Forum http://www.vbfrance.com/infomsg_BESOIN-...

{Visual Basic, VB6, VB.NET, VB 2005} EXTRACTION CODE HTML, EDITION DYNAMIQUE DE FICHIER HTML (MARCHE EN VB6)
A plusieurs reprises, j'ai trouvé des questions sur le forum portant sur la possibilité d'extraire l...

{Javascript / DHTML} JEU DE PENDU JAVASCRIPT
Ceci est un petit jeu de pendu assez simple mais toujours agréable. Il utilise CSS pour masquer les ...

{Flash} MATRIX 99% CODE, 100% ALÉATOIRE AVEC TEXT OVERLAY
Après des recherches pour un effet matrix 100% code, j'ai remarqué que personne n'en avait fait. ...

{Delphi} CONVERTIR LES CODE HTML EN CARACTÈRES SPÉCIAUX
Voici le complément à la source poster par Japee : http://www.delphifr.com/codes/CONVERTIR-CARACTE...