Dans la série des choses pas très utiles mais, que l'on prend plaisir à coder, j'ai commencé le développement d'un analyseur CSS.
Ce script consiste en une classe PHP qui parse un fichier ou une chaîne de caractères et mémorise les marqueurs, propriétés et valeurs.
Un certain nombre de méthodes permettront ensuite de traiter le code CSS pour l'analyser. Une méthode retourne aussi le code bien présenté et colorisé.
J'ai donc intégré cette classe à la classe wiki2xhtml de dotclear sur le même principe que la colorisation PHP.
Voici donc ce que cela donne en entrant :
<css> .classe { font-size:0.8em; } </css>

<style type="text/css">
<!--
.classe {
font-size : 0.8em;
}
-->
</style>

CSS Color mcAllan 2004

J'ai essayé de prendre en compte le maximum de cas possibles :

<style type="text/css">
<!--
/* commentaires avec " ou ' ou { } ; : etc.. */
@import url("style.css");
.classe
{
color : #00f;
}
a[hreflang]:after
{
/* Carractères particuliers entre quotes :*/
content
: '{" ' attr(hreflang) ' \'}';
}
.class2:after
{
/* Commentaires entre quotes :*/
content
: ' /* commentaire */ ';
}
-->
</style>

CSS Color mcAllan 2004

Il reste cependant un cas non résolu :

<style type="text/css">
<!--

a[hreflang]:after
{
/* Marque de commentaire entre quotes :*/
content
: '/* ' attr(hreflang) ' ';
/* et plof pas glop !! :( */

;
}
-->
</style>

CSS Color mcAllan 2004

Donc je travaille à corriger ce petit bug issu d'un cas quand même tordu faut le dire.