J'écris un preg_replace rapide pour enlever les commentaires de CSS. commentaires CSS ont généralement cette syntaxe:preg_replace des commentaires CSS?
/* Development Classes*/
/* Un-comment me for easy testing
(will make it simpler to see errors) */
Je suis en train de tuer tout entre/* et * /, comme ceci:
$pattern = "#/\*[^(\*/)]*\*/#";
$replace = "";
$v = preg_replace($pattern, $replace, $v);
Pas de dés! Il semble étouffer sur les barres obliques, parce que je peux l'obtenir pour enlever le texte des commentaires si je sors le/s hors du modèle. J'ai essayé quelques modèles plus simples pour voir si je pouvais perdre les barres obliques, mais ils retournent la chaîne d'origine inchangée:
$pattern = "#/#";
$pattern = "/\//";
Toutes les idées sur la raison pour laquelle je ne peux pas sembler correspondre à ces barres obliques? Merci!
Je ne vais pas le fournir comme une réponse, car il ne s'applique pas vraiment directement à la question, mais il existe de bons outils qui suppriment/réduisent déjà le contenu CSS: http://www.minifycss.com/ ceux qui pourraient être ici essayant de réinventer la roue :) – AvatarKava
Vous devriez mieux utiliser un analyseur. Sinon, vous supprimerez quelque chose comme 'content:"/* ... */"'. – Gumbo
AvatarKara - J'utilise actuellement ce script: http://code.google.com/p/cssmin/ - mais il ne supprimait pas les commentaires pour une raison quelconque. J'ai supposé que je devrais écrire ce peu en moi-même, mais comme d'autres scripts ET réponses ne fonctionnent pas, il semble que quelque chose d'étrange se passe ... Ceci est pour une utilisation dans un plugin EE, donc je me demande si la chaîne être passé ou l'environnement ont des bizarreries dont je ne suis pas au courant. Merci pour le lien! –