begin process at 2012 02 14 01:53:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > [EXPREG] COLORATION SYNTHAXIQUE (X)HTML

[EXPREG] COLORATION SYNTHAXIQUE (X)HTML


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :3 965 / 218

Auteur : DiGhan

Ecrire un message privé
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).

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 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

Source avec Zip POO - DEBUGGER
Source avec Zip Source avec une capture POO - GESTION DES COULEURS
LIB - MANIPULATION DES COULEURS (RGB-HEXA)

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

 Sources en rapport avec celle ci

TRANSFORMER DU PBB CODE EN CODE HTML par audain
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
LISTER DES LIENS / URLS DEPUIS UN TEXTE par gmni
FORMULAIRE BBCODE AVEC PASSAGE EN HTML par Seby63
DU BBCODE AU (X)HTML par OniTalus

Commentaires et avis

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 ??

Commentaire de webdeb le 26/09/2006 20:02:07

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

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.

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 dans le forum

Mail en html [ par WaNoU ThE EpSyLoN ] Bonjour tout le monde,Voil&#224; je rencontre un petit probl&#232;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 &#224; 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&lt;form id=\"form2\" name=\"form2\" method=\"post\" action=\"admin.php\"&gt; &lt;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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,326 sec (4)

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