Accueil > > > [EXPREG] COLORATION SYNTHAXIQUE (X)HTML
[EXPREG] COLORATION SYNTHAXIQUE (X)HTML
Information sur la source
Description
Petite fonction qui colorise du code (X)HTML. Elle est basique et ne traite que le principal. L'indentation du code d'entrée est restituée à la sortie. Je l'utilise pour un système de wall et pour des tutorials. ATTENTION !! Cette fonction travail avec les entités du type '&...;' or celles-ci sont interprétées par le site. UN COPIER/COLLER du code exposé(présent à titre d'exemple) est donc FORTEMENT DECONSEILLE ! Il vous faut télécharger le .zip(c'est lourd, je sais). Pour modifier les couleurs: span.dtd => styles DTD span.bal => styles des balises span.attrib => styles des attributs span.attribVal => styles des valeurs des attributs exemple => http://indiansoul.free.fr/ex_csx/index.php
Source
- <html>
- <head>
- <title>Coloration synthaxique XHTML</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <style type="text/css">
- code { font: 10px Verdana; color: #000; background: #f3f3f3; margin: 0; padding: 5px; display: block; clear: both; margin-top: 10px;}
- span.dtd { background: ffff00; color: #ff0000; }
- span.bal { color: #ff4e00; }
- span.attrib { color: #3a97d9; }
- span.attribVal { color: #31bb68; font-weight: bold;}
- </style>
- </head>
- <body>
- <?php
- # Déclaration et définition de la fonction
- function print_xhtml($p_chaine) {
- $tabOccRech = array("\t",' ',"\r\n");
- $tabOccRemp = array(' ',' ',"<br />\n");
- $chBase = str_replace($tabOccRech,$tabOccRemp,htmlentities(stripslashes($p_chaine)));
- $chDtd = preg_replace('`(<!DOCTYPE.*?>)`i','<span class="dtd">\\1</span>',$chBase);
- $chBal = preg_replace('`(</?\w+(?:>)?|(?: /)?>)`i','<span class="bal">\\1</span>',$chDtd);
- $resultat = preg_replace('`((?:\w+:)?\w+(?:-\w+)?=")(.*?)(")`i','<span class="attrib">\\1<span class="attribVal">\\2</span>\\3</span>',$chBal);
- return ($resultat);
- }
- # Un petit exemple
- $donnees = "<ul id=\"navMain\">\r\n";
- $donnees .= " <li><a href=\"#\" title=\"description\">lien1</a></li>\r\n";
- $donnees .= " <li><a href=\"#\" title=\"description\">lien2</a></li>\r\n";
- $donnees .= " <li><a href=\"#\" title=\"description\">lien3</a></li>\r\n";
- $donnees .= "</ul>\r\n";
-
- echo "<code>\n",print_xhtml($donnees),"</code>\n";
- ?>
- </body>
- </html>
<html>
<head>
<title>Coloration synthaxique XHTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
code { font: 10px Verdana; color: #000; background: #f3f3f3; margin: 0; padding: 5px; display: block; clear: both; margin-top: 10px;}
span.dtd { background: ffff00; color: #ff0000; }
span.bal { color: #ff4e00; }
span.attrib { color: #3a97d9; }
span.attribVal { color: #31bb68; font-weight: bold;}
</style>
</head>
<body>
<?php
# Déclaration et définition de la fonction
function print_xhtml($p_chaine) {
$tabOccRech = array("\t",' ',"\r\n");
$tabOccRemp = array(' ',' ',"<br />\n");
$chBase = str_replace($tabOccRech,$tabOccRemp,htmlentities(stripslashes($p_chaine)));
$chDtd = preg_replace('`(<!DOCTYPE.*?>)`i','<span class="dtd">\\1</span>',$chBase);
$chBal = preg_replace('`(</?\w+(?:>)?|(?: /)?>)`i','<span class="bal">\\1</span>',$chDtd);
$resultat = preg_replace('`((?:\w+:)?\w+(?:-\w+)?=")(.*?)(")`i','<span class="attrib">\\1<span class="attribVal">\\2</span>\\3</span>',$chBal);
return ($resultat);
}
# Un petit exemple
$donnees = "<ul id=\"navMain\">\r\n";
$donnees .= " <li><a href=\"#\" title=\"description\">lien1</a></li>\r\n";
$donnees .= " <li><a href=\"#\" title=\"description\">lien2</a></li>\r\n";
$donnees .= " <li><a href=\"#\" title=\"description\">lien3</a></li>\r\n";
$donnees .= "</ul>\r\n";
echo "<code>\n",print_xhtml($donnees),"</code>\n";
?>
</body>
</html>
Conclusion
Avec $donnees du type $_POST/$_GET/ dans une utilisation normal.
Pour plus d'informations, voir code source de la page index.php(page de l'exemple).
Historique
- 25 septembre 2006 20:09:54 :
- Présentation modifiée
- 25 septembre 2006 20:19:04 :
- Ajout .zip
- 26 septembre 2006 20:54:04 :
- - Amélioration des explications
- Suppression bug mineur
- 26 septembre 2006 21:04:10 :
- Nième retouche de la présentation
- 26 septembre 2006 21:09:06 :
- Retouche code
- 18 décembre 2006 17:48:52 :
- Mise à jour présentation
- 18 décembre 2006 17:51:19 :
- Petite correction
- 20 décembre 2006 20:41:15 :
- Mise à jour 2
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Mail en html [ par WaNoU ThE EpSyLoN ]
Bonjour tout le monde,Voilà je rencontre un petit problème avec la fonction mail(). En fait je voudrais envoyer un mail HTML (avec le design
extracteur de liens - pb de regex [ par caviar ]
Saluté...Je bosse sur un système de moteur de recherche en ce moemtnet j'essaye d'optimiser tout ça avec des regex... bon l'idée est de pouvoir récupé
Convertion html > xhtml [ par JoJo738 ]
Bonjour, Je cherche à recuperer les atributs des balises html, pour les ajouter dans un atribut style=""
Tidy [ par jnbdzjnbdz ]
Bonjour, je travaille au développement d'un clone a Dreamwever sur internet et pour cette raison j'ai besoins d'un correcteur HTML et XHTML bon j'ai c
regex pour atributs alt et tile [ par caviar ]
Salut...je suis en train de chercher à récupérer les valures des attributs alt et title des iamges d'une page..j'ai presque trouvé le regex sauf qu'il
Compatibilité PHP/HTML [ par Antosz ]
J'ai créer toute mes pages en HTML + le CSS, j'ai ma bannière et le menu sur chaque page mais j'ai laissé le "corps" vide pour y ajouter des modules (
1 lien pour se désinscrire mais 2 tables abonnés [ par crazykamel ]
Bonjour à tous, voilà des lustres que je ne suis pas revenu sur ce site qui a plus que contribué à mon apprentissage du php ^^Alors voilà, je souhaite
HTML et formulaires "imbriqués" [ par FlopFlo ]
Bonjour,J'essaye de faire quelquechose de ce type<form id=\"form2\" name=\"form2\" method=\"post\" action=\"admin.php\"> <form id=\"form1\" n
Récupérer du code d'une page html [ par Metaldark ]
Salut ! [;)] Bon, j'explique mon problème : j'ai fait un script qui gere des templates et génére des pages html statiques.Par exemple, le template es
Problème de formulaire entre 2 sites [ par Kaneda Shotaro ]
J'ai réalisé en HTML un site pour un ami. Il voulait que les visiteurs puissent envoyer par mail une demande de renseignement. J'ai donc fait sur son
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|