ligne 106 de cssparser.php
dit:
list($codekey, $codevalue) = explode(":",$code);
Le explode()
génère l'erreur de décalage Indéfini. Cela signifie que le fichier css analysé est dans une déclaration invalide quelque part et qu'il manque :
. L'éclatement ne peut pas trouver :
en $code
.
Maintenant, c'est juste une hypothèse (vous n'avez pas fourni le fichier .css réel), mais le fichier peut avoir un contenu non valide, quelque chose comme ceci:
.classdefinition {
color #000000;
}
Il y a un :
manquant entre color
et #000000
.
Je ne pense pas qu'un commentaire est le problème, car à première vue, la classe prend soin de les ignorer.
Essayez de transmettre le fichier css via un CSS validator.
Si la syntaxe CSS est OK, la classe a un bug.
Maintenant, si nous avons tous deux le même (dernière) version de cssparser.php
, un patch rapide serait de remplacer les lignes 106-109 avec:
$arr = explode(":", $code);
if (count($arr) == 2 && strlen(trim($arr[0])) > 0 && strlen(trim($arr[1])) > 0) {
$this->css[$key][trim($arr[0])] = trim($arr[1]);
}
Mais encore une fois, cela ne garantit pas CSS valide sera analysé correctement et que cette classe est sans erreur.
Et que je n'ai pas vraiment testé ou travaillé avec la classe, tout ce qui est suggéré ici est juste en regardant le code que vous avez posté et le code de la classe.
modifier plus tard:
Lors d'une recherche rapide Google, je l'ai trouvé PHP-CSS-Parser qui ressemble plus complète et robuste, et il est hébergé sur GitHub (pour que les autres puissent y contribuer).
Une autre édition:
Vérifiez également this answer ici, semble assez simple, mais comme dit l'auteur, ne gère pas les commentaires sélecteurs à l'intérieur.
J'espère que cela a aidé.
Une erreur indique que le problème est dans cssparser.php. Que diriez-vous de poster * ce * code à la place?:) – SenorAmor