[javascript] pb expression régulière

pb expression régulière [javascript] - HTML/CSS - Programmation

Marsh Posté le 21-04-2005 à 02:33:13    

Bonjour,  
 
je cherche à faire de la coloration syntaxique en javascript. Actuellement je bloque pour colorer les chaines de caractère dans un texte contenant du code php.
avec /('.*?')/g et /(".*?" )/g je colorise toute les chaines du type "machaine" et 'machaine'. Le pb c'est quand j'ai "machaine\"suitemachaine" sachant que je peux avoir "machaine\\\"suitemachaine" ou "machaine\\" ou bien encore "ma'chaine".
 
Quel expression régulière utiliser pour réaliser une coloration syntaxique d'une chaine de caractère dans tous les cas de figure ?

Reply

Marsh Posté le 21-04-2005 à 02:33:13   

Reply

Marsh Posté le 21-04-2005 à 23:02:35    

en fait j'ai fait ça et ca marche :
 

Code :
  1. nb_cote = 1;
  2. old_cote = "";
  3. source = source.replace(/(\\*("|'))|(<font color=#.{6}> )|(<\/font> )|(<b> )|(<\/b> )/g,
  4.     function(texte)
  5.     {
  6.      var cote = texte.substr(texte.length-1,1);
  7.      if ((cote=="\"" || cote=='\'') && nb_cote%2)
  8.      {
  9.       texte = '<font color=#0000ff>' + texte;
  10.       old_cote = cote;
  11.       nb_cote++;
  12.      }
  13.      else if ((cote=="\"" || cote=='\'') && texte.length%2 && old_cote==cote)
  14.      {
  15.       texte = texte + '</font>';
  16.       old_cote="";
  17.       nb_cote++;
  18.      }
  19.      else if (cote=='>' && nb_cote%2==0)
  20.      {
  21.       texte = texte.replace(/(<font color=#.{6}> )|(<\/font> )|(<b> )|(<\/b> )/, '');
  22.      }
  23.      return texte;
  24.     });


 
car il faut aussi que je supprime la coloration et la mise en gras des mots de syntaxe que j'aurais pu trouver dans le texte
 
ex :
 
$toto = " blabla mysql_querry blabla ";
 
devient  
 
$toto = " blabla mysql_querry blabla ";
 
puis  
 
$toto = " blabla mysql_querry blabla ";

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed