begin process at 2008 08 20 12:34:23
1 228 828 membres
197 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[EXPREG] COLORATION SYNTHAXIQUE (X)HTML


Information sur la source

Catégorie :Astuces Classé sous : xhtml, coloration, synthaxique, regex, html Niveau : Débutant Date de création : 25/09/2006 Date de mise à jour : 20/12/2006 20:41:15 Vu / téléchargé: 2 771 / 197

Note :
7 / 10 - par 3 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

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).
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

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
  • signaler à un administrateur
    Commentaire de jean84 le 26/09/2006 17:36:50

    Pour l'avoir tester sur ton site, c'est vraiment pas mal. Par contre ou sont span.dtd, span.bal, span.attrib & span.attribVal ??

  • signaler à un administrateur
    Commentaire de webdeb le 26/09/2006 20:02:07

    Code super intéressant, je pense que je vais l'exploiter ! Merci ;)

  • signaler à un administrateur
    Commentaire de DiGhan le 26/09/2006 21:14:03

    Jean84 => J'ai modifié les explications, ça doit t'aider.
    N'hésites pas, si jamais tu as un problême.

  • signaler à un administrateur
    Commentaire de codefalse le 17/11/2006 12:54:49 administrateur CS

    tres impressionné !!!
    respect !

Ajouter un commentaire

Discussions en rapport avec ce code source

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS