Colorisation syntaxique d'html

0/5 (14 avis)

Snippet vu 4 246 fois - Téléchargée 29 fois

Contenu du snippet

bonjour :)
j'avais déjà déposé une source sur la colorisation syntaxique de CSS (code.aspx?ID=30277) et je voulais faire la meme chose pour HTML :)
pis qui sait ? apres c++/java/javascript/perl etc ... hehe
j'ai surtout fait ca pour mon site, pour mettre des bouts de codes pour des cours, tuto, forum etc ...
merci de me dire les plus et les moins, ne critiquez pas trop ^^ lol je ne suis pas expert en expreg :) mais je trouvais la concept intéressant a partager

Source / Exemple :


function colorizeHTML($src)
{
	$patterns = array(
					  '#=(["|\'])([^"|\']*)(["|\'])#Smi',      // attributes & values
					  '#<!--([^-]+)-->#Smi',                   // comments
					  '#<([^\s^>]+)(.*?)>#Smi'                 // tags
					 );
				
	$replaces = array(
					  '[span class="html-schar"]=\\1/span[span class="html-attribut"]\\2/span[span class="html-schar"]\\3/span',
					  '[span class="html-cmt"]<!--\\1-->/span',
					  '[span class="html-tag"]<[b]\\1/b\\2>/span'
					 );
					 
	$src = preg_replace($patterns, $replaces, $src);
	$src = str_replace('[', '<', $src);
	$src = str_replace(']', '>', $src);
	
	return '<span class="html-norm">'.nl2br($src).'</span>';
}

A voir également

Ajouter un commentaire Commentaires
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
24 déc. 2005 à 21:18
j'ai réussi à gérer les doubles quotes et simples (j'en profite pour déterrer ça vu que je bosse sur un truc syntaxique en ce moment) en une seule regex. Je pense pas que ce soit parfait mais c'est déjà pas mal :

$code=preg_replace("'("(.+?)")|(\'(.+?)\')'",'$0',$code);
cs_HyWaN Messages postés 34 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 11 mai 2006
23 mai 2005 à 19:02
c'est bon j'ai modifie comme promit xD
par contre pour les doctypes c'est un peu particulier :p
vous prefere le voir comment ? en commentaire ou ... ? j'attend vos idees pour m'y mettre ;)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
23 mai 2005 à 17:43
" hightlight_file();"

> ce n'est valable que pour le php...

Dans le même genre : highlight_string()
cs_HyWaN Messages postés 34 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 11 mai 2006
23 mai 2005 à 09:47
lol desole j'avais de la famille a la maison et je ne pouvais pas donc pas ameliorer la source :p
pour gerer l'echapement des simples/doubles quotes j'ai une idee, je vois ca ce soir car la je dois aller en cours ^^ dsl lol je vous promet une update de la source dans qq jours au gros max :)
merci +
Mingain Messages postés 44 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 février 2006
23 mai 2005 à 08:48
hightlight_file();
Afficher les 14 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.