Bonjour :)
J'ai un petit de expreg ...
Je suis en train de faire un colorisateur syntaxique de css avec des expreg et y a juste un tout petit truc qui me tue

En css on a des commentaires (comments) Mon script colorize les types de comment suivant
1.
/* cmt */
ok
2.
/*********/
/*** cm ***/
/*********/
ok
3.
/*
cmt
*/
no ok
et j'aimerai qu'il prenne en compte le dernier commentaire sinon ca fait pas beau =)
Voici mon script :
$css étant le code css (...!)
<?php
$patterns = array(
'#(:)(.*?)(;)#',
// values
'#^([[:alnum:].:*,\#<>\[\]()\|\'"=+-]+[\s]+)#Smi', //
balises
'#(/\*.*?[\n]*?\*/)#Smi',
// comments
'#(,|;)#'
// ,;
);
$replaces = array(
':<span
style="color:blue">\\2</span>;',
// values
'<span
style="color:red">\\1</span>',
// balises
'<span
style="color:grey"><i>\\1</i></span>',
// comments
'<span
style="color:#FF00FF">\\1</span>',
// ;
);
$css = preg_replace($patterns, $replaces, $css);
$css = '<span style="color:#2E2E2E">'.$css.'</span>';
echo '<code>'."\n\n".nl2br($css)."\n\n".'</code>';
?>
Merci de m'aider :)
La syntaxique pour les cmts est :
'#(/\*.*?[\n]*?\*/)#Smi'
La source est dispo mon tit site perso (pas mon gros site ^^) :
http://hywan.firegates.net/vscripts.php?s=css&d=Colorize/&t=php&lang=fr
Si qq'un veut la réutiliser qu'il me fasse signe merci