syntaxhighlighter et regex

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : syntaxhighlighter et regex

Re: syntaxhighlighter et regex

par moogli » 02 janv. 2012, 15:17

salut,

Si la colorisation est faite en JavaScript il faut l'indiquer (<script .....> ... </script>).
Si c'est en php utilise preg_replace_callbackpreg_replace_callback au lieux de preg_replace ;)


@+

syntaxhighlighter et regex

par graffx » 02 janv. 2012, 00:56

salut a tous et bonne année!

voila, petit souci de regex, j' utilise la synthaxe pour colorer mes codes, mais au niveau de mon bbcode, ca bloque.

réellement dans ma base de données j' ai ceci

*description*
[ code ]
mon code php
[ / code ]

Voici ma regex que je n' arrive pas a adapter:
$texte = preg_replace('`\[code\](.+)\[/code\]`isU', '<pre class="brush: php">
              function helloSyntaxHighlighter() 
              { $1 } 
              </pre>', $texte); 

Je trouve cette fonction assez bizarre car elle passe dans le html d'aprés l' exemple du script:
<pre class="brush: php">
              function helloSyntaxHighlighter() 
              { 
               return 'hey!'
              } 
              </pre>

Le probleme est (je comprend pas d'ailleurs), que la partie qui apparait dans un tableau et en coloré est la partie du debut jusqu' aux pointillés:
<pre class="brush: php">
              function helloSyntaxHighlighter() 
              { 
<?php 
session_start();

	  if(!isset($_SESSION['name'])) //--Si il n' y a pas de session (si on n' est pas connecté)
	  {
	  //--On affiche le formulaire de connection
	  echo '
      <table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
---------------------------------------------------------------------------
        <tr>
          <td height="30" align="center" valign="middle">
          <form method="post" action="tt.php">
            Pseudo :
            <input name="pseudo" type="text" id="pseudo" style="width: 70px;" />
            Mot de passe :
            <input name="mdp" type="password" id="mdp" style="width: 70px;" />
            <input type="submit" name="submit" id="submit" value="OK" />
            <a href="fpass.php" class="header">Mot de passe oubli&eacute;</a>

            <a href="reg.php" class="header">Inscription</a>
          </form>
          </td>
        </tr>
      </table>';
	  }
	  else
	  {
	  //--Sinon (on est connecté) on affiche les infos et commande du membre (nom, lien profil, lien deconnection)
      echo '<table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td height="30" align="center" valign="middle">
              Bonjour, '.$_SESSION['name'].' <a href="profil.php" class="header">Mon compte</a> <a href="deco.php" class="header">D&eacute;connection</a>

            </td>
          </tr>
      </table>';
	  }
?>
	  
 } 
Si quelqu' un pouvait me sortir du petrin, je lui en serait extremement reconnaissant. (et une explication pour la derniere partie si possible, pour la poartie colorée jusqu' aux pointillés)


Merci bonne année!