Expreg

Résolu
cs_HyWaN Messages postés 34 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 11 mai 2006 - 26 mars 2005 à 14:30
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 27 mars 2005 à 19:55
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(



':\\2;',
// values



'\\1',
// balises



' \\1 ',
// comments



'\\1',
// ;

);



$css = preg_replace($patterns, $replaces, $css);



$css = ''.$css.'';



echo '
'."\n\n".nl2br($css)."\n\n".'
';



?>



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

7 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
27 mars 2005 à 19:55
Clique sur "réponse acceptée stp" merci :-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
26 mars 2005 à 14:50
Salut,



remplaces ça (/\*.*?[\n]*?\*/)




par ça :



(/\*\.\*\?\*\?\*/)




Ca fonctionne ou pas ?



a ++ ;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_HyWaN Messages postés 34 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 11 mai 2006
26 mars 2005 à 16:40
no lol ca marche moins bien qu'avant =) lol
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
26 mars 2005 à 17:23
salut



'#(/\*.*?\n.*?\*/)#Smi',
// comments





et comme ceci...



In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_HyWaN Messages postés 34 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 11 mai 2006
26 mars 2005 à 17:28
no lol tjrs pas =)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
26 mars 2005 à 19:17
On peut déjà enlever le \n vu que le #sim (ou Smi ici) compte aussi les expressions sur plusieurs lignes...



Bon je viens de tester chez moi ça fonctionne parfaitement :



$texte=preg_replace("'(/\*(.+?)\*/)'sim",'$1',$texte);


a ++
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_HyWaN Messages postés 34 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 11 mai 2006
27 mars 2005 à 16:00
ah lalala pk j'y ai pas penser :s

et petite précision #Smi ou #smi c'est pas tout a faire pareil ;o)

merci beaucoup :)

+
0
Rejoignez-nous