Colorisateur de CSS

Qwix [fr] nous propose un Colorisateur syntaxique de CSS , utilisable sur n'importe quelle page web ou blog pour mettre en valeur une partie de code CSS.

Voici le code de la fonction :

 <?php
function cssColor(&$texteAColorer)
{
    //je remplace déjà les chaines entre doubles quotes en premier
 lieu dans les CSS sinon tout merde:
    $texteAColorer = preg_replace('#("[a-z0-9\s.-]+")#i', '<
span class="couleurChaine">$1</span>', $texteAColorer) ;

    $patterns = array(
    //je récupère le nom de la CSS
        '#^([a-z0-9.:@*\s,\#_><+\[\|=\]()"-]+[\s]*{)#mi',
        //je récupère les commentaires dans les css
        '#(/\*[^/\*]+\*/)#',
        //je récupère le texte entre les accolades, mais avant le ':'
        '#^([\t]*[\s]*[a-z0-9_-]+[\s]?):(?![\s\t]*{)#mi',
        //je récupère le texte entre les accolades, mais après le ':' jusqu'au ';'
        //ET NON SUIVI D'UNE FIN DE COMMENTAIRE => */
        '#(.*?)(;|})(?!(?:.*?)\*/)#',
        ) ;
    $remplacements = array(
        '<span class="couleurSelecteur">$1</span>',
        '<span class="couleurCommentaire">$1</span>',
        '<span class="couleurPropriete">$1</span><
span class="couleurSelecteur">:</span>',
        '<span class="couleurValeur">$1</span><
span class="couleurSelecteur">$2</span>'
        ) ;
    $texteAColorer = preg_replace($patterns, $remplacements, $texteAColorer) ;
}//fin fonction colorationSyntaxique
?> 

La fonction s'utilise ainsi :

<?php 
$css = 'votre code CSS' ; 
cssColor($css) ; 
echo nl2br($css) ; 
?>  

Vous avez la possibilité de faire vos tests ou de reporter les éventuels bugs sur le Blog de Qwix

Voici, pour exemple, un extrait de la CSS des tutos d'Alsa :

html, body { width: 100%; height: 100%; }

body { margin : 0; padding : 0; font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 0.8em; background-color: white; }

#header { height : 100px; background : url(header.jpg) top left no-repeat; margin:0; position: absolute; left:0; top:0; width: 100%; }

#slogan { margin-left: 180px; margin-top: 50px; }

EDIT : Vous retrouverez la version définitive et corrigée du colorisateur à cette adresse.

Trackbacks

Aucun trackback pour le moment.

Les trackbacks pour ce billet sont fermés.

Evaluez ce billet

Commentaires

Le vendredi 3 septembre 2004 à 16:31, par ElMoustiko :: site :: #

Mwarf c'est génial ce truc !
Il peut nous faire pareil que le barbouillache de Ldo mais avec des styles css et non des bbcode ? tu met les 2 ensemble et tu as la colo syntaxique pour xhtml, php, css !

Je vais bookmarker ça d'urgence !

Merci à Qwix

Le vendredi 3 septembre 2004 à 17:11, par qwix :: site :: #

Merci Sib pour le billet, cependant j'aimerais ajouter que ce système est encore en bêta-test car j'ai quelques soucis avec certaines syntaxes, tout est expliqué à cette adresse:
qwix.media-box.net/index....

:)

Le vendredi 3 septembre 2004 à 17:11, par [NikO] :: site :: #

Il y a des colorisateur ( j'ai du mal à le dire ) pour d'autres languages :
c++, javascript, action-script :
www.bedaux.net/cpp2html/
php :
www.faebu.ch/phpcc/
Et y en a un peu pour chaque language :-)

Le vendredi 3 septembre 2004 à 17:13, par qwix :: site :: #

ElMoustiko> ça peux s'envisager, mais avant il faut que je finisse le colorisateur de CSS ;)

:)

Le vendredi 3 septembre 2004 à 17:18, par qwix :: site :: #

[Niko]>Il y a aussi cette url :www.beautifier.org/ qui fait pas mal de langages autant l'avoir dans ses bookmarks, ça peut servir ;)

:)

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.