IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Faire une exception dans une chaîne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 82
    Par défaut Faire une exception dans une chaîne
    Bonjour,

    J'aimerais trouver une technique pour supprimer tous les espaces d'un fichier CSS. Le but est de l'optimisé en allégeant son poids.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #div {
         propriété : valeur;
    }
    J'ai réussi avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace(" ", "", $chaine);
    Mais cela supprime tous les espaces, même ceux qui son contenu dans les accolades { et }

    Donc si j'ai ce code CSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    border: 1px solid black;
    Il va me sortir ça :

    Ce qui est invalide en CSS.

    Ce que j'aimerais faire, c'est de dire à PHP de me virer tous les espaces excepté ceux qui sont entre un " { " et un " } " ou encore dans un commentaire (entre un " /* " et un " */ ")

    Je n'arrive pas à trouver la fonction qu'il faut pour ça.

    Merci.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    optimiser et minimiser c'est pas la même chose, la deuxième étant pas tellement utile, le CSS c'est pas ce qui prendre la plus de place dans une page

  3. #3
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Pour minimiser, tu peux utiliser la fonction preg_replace
    http://www.php.net/manual/fr/function.preg-replace.php

    avec l'expression régulière qui va bien

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $css = '#div { 
         propriete : valeur  dd ;
         border : 1px solid black;
    }';
     
     
    $css = preg_replace('/(:|;|{|})(\s*)/', '$1', $css);
    $css = preg_replace('/(\s*)(:|;|{|})/', '$2', $css);
     
    echo $css;

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 82
    Par défaut
    optimiser et minimiser c'est pas la même chose, la deuxième étant pas tellement utile, le CSS c'est pas ce qui prendre la plus de place dans une page
    Minimiser le code CSS peut diviser le poids d'une feuille .css pas deux, et pour un site à fort trafic c'est très important, notamment pour le référencement...

    @Seb33300 :
    Merci pour ton code, je vais tester et je te dirais quoi.

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Citation Envoyé par chok371
    Minimiser [...] pour un site à fort trafic c'est très important, notamment pour le référencement.
    Certes, mais cela n'a de sens que si on gère bien le cache en définissant une date d'expiration raisonable de la feuille de style.

    En effet, il vaut mieux une grande feuille de style statique chargée un fois et placée dans le cache du navigateur pour une certaine durée, que d'avoir une petite feuille de style dynamique chargée à chaque changement de page.

    Un site qui devrait te plaire GTMetrix pour analyser les performances.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 82
    Par défaut
    Citation Envoyé par Eric2a Voir le message
    Salut,


    Certes, mais cela n'a de sens que si on gère bien le cache en définissant une date d'expiration raisonable de la feuille de style.

    En effet, il vaut mieux une grande feuille de style statique chargée un fois et placée dans le cache du navigateur pour une certaine durée, que d'avoir une petite feuille de style dynamique chargée à chaque changement de page.

    Un site qui devrait te plaire GTMetrix pour analyser les performances.
    Merci pour le conseil. Pour résoudre ce problème je pense faire une vérification sur les feuilles de styles, si l'une d'entre elles a été modifiée, on recharge le tout, sinon on ne recharge rien.

Discussions similaires

  1. Réponses: 15
    Dernier message: 26/01/2015, 19h37
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo