begin process at 2012 05 27 22:21:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > COLORISATION SYNTAXIQUE D'HTML

COLORISATION SYNTAXIQUE D'HTML


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caratère Niveau :Initié Date de création :21/05/2005 Date de mise à jour :23/05/2005 19:01:29 Vu :3 221

Auteur : HyWaN

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • 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"]&lt;!--\\1--&gt;[/span]',
  • '[span class="html-tag"]&lt;[b]\\1[/b]\\2&gt;[/span]'
  • );
  • $src = preg_replace($patterns, $replaces, $src);
  • $src = str_replace('[', '<', $src);
  • $src = str_replace(']', '>', $src);
  • return '<span class="html-norm">'.nl2br($src).'</span>';
  • }
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"]&lt;!--\\1--&gt;[/span]',
					  '[span class="html-tag"]&lt;[b]\\1[/b]\\2&gt;[/span]'
					 );
					 
	$src = preg_replace($patterns, $replaces, $src);
	$src = str_replace('[', '<', $src);
	$src = str_replace(']', '>', $src);
	
	return '<span class="html-norm">'.nl2br($src).'</span>';
}



 Historique

23 mai 2005 19:01:29 :
j'ai ajouter dans la premiere regex, la gestion de "parsement" des simples et doubles quotes qui encadrent les valeurs des attributs :)

 Sources du même auteur

Source avec une capture COLORATION SYNTAXIQUE DE CSS
SÉCURISÉ LES INCLUDES PAR GET
NOM DU FICHIER SANS L'EXTENSION

 Sources de la même categorie

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip CLASSE D'OBJET DE RECHERCHE DE MOTS DANS DES TABLEAUX ET/OU ... par 8Tnerolf8
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE par tefa24600
Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip Source avec une capture CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGE par Salva9473

Commentaires et avis

Commentaire de Naixn le 22/05/2005 12:18:17

echo colorizeHTML('<b>[Cliquez ici]</b>');

> huhu, gros bug ^__^

Commentaire de HyWaN le 22/05/2005 12:48:33

hmmm il est que je n'avais pas pense a ca :p lol
merci ^^ ... je vais resoudre le probleme apres avoir manger une tite fondue lol ^^

Commentaire de GAME2OVR le 22/05/2005 14:36:33

euh très bof... ne prends pas en compte les quote simple, et ne colore pas entre les double quote de <!DOCTYPE HTML PUBLIC \'-//W3\'C//DTD HTML 4.01 Transitional//EN\' "http://www.w3.org/TR/html4/loose.dtd"> .... si tu veux gérer les quote simple et double en meme temps abandonne les reggex tu n'y arrivera pas ^^
j'ai fait un colorateur html,php,css et j'ai eu du mal à comprendre comment colorer les quote simple et double sans que sa bug, donc ce que je peux te dire c'est abandonne les reggex et passe a une analyse plus poussé du code...

Commentaire de HyWaN le 22/05/2005 14:50:30

hehe ok merci pour tout vos conseils :)
et je sais que pour un doctype ca couille ;) je bosse dessus lol ^^
mais sinon c'set pour le principe c'est reggex ... :)
et pour Naixn > meme prob avec bbcode :)

Commentaire de GAME2OVR le 22/05/2005 14:53:35

bas oui mais essaie de gérer les quote simple et double avec ton systeme....

Commentaire de Anthomicro le 22/05/2005 20:46:33

Salut,

bah tu le fais en deux regexs ^^

Commentaire de GAME2OVR le 22/05/2005 20:52:07

Salut,
ah tu le fais en deux regexs ^^
oki alors colore moi ça :
<img src="dfdssfds.gif" alt="c'est joli" />
<a href='test.php'>test</a>

avec tes deux regex sans qu'il y ai de problème de coloration...

Commentaire de Anthomicro le 22/05/2005 20:56:53

ah ok je suis d'accord ;-)

Bah perso je gère que les doubles quotes dans mon colorisateur syntaxique et à vrai dire j'ai jamais eu envie d'implémenter les simples...

Ensuite je préfère ne pas colorer certaines portions et avoir un code plus rapide (enfin faudrait tester les deux méthodes, regex et parsing).

Ceci dit je ne suis pas contre une source qui gérerait les deux, à défaut d'avoir le temps (ou l'envie) de la créer ;-)

Commentaire de GAME2OVR le 22/05/2005 20:58:57

j'en ai fait une, je vais proposer le lien sur le forum car le systeme de javascript et tres puissant et recupère meme les tag html des autre page en le colorant directement ....

Commentaire de Mingain le 23/05/2005 08:48:34

hightlight_file();

Commentaire de HyWaN le 23/05/2005 09:47:01

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 +

Commentaire de Anthomicro le 23/05/2005 17:43:35

" hightlight_file();"

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

Dans le même genre : highlight_string()

Commentaire de HyWaN le 23/05/2005 19:02:58

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 ;)

Commentaire de Anthomicro le 24/12/2005 21:18:32

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("'(&quot;(.+?)&quot;)|(\'(.+?)\')'",'<span class="...">$0</span>',$code);

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales