Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation Web (HTML, PHP, ASP, Java, XML, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=65)
-   -   probleme preg_replace (http://www.ndfr.net/forums/showthread.php?t=3973)

Magi-X 16-04-2004 14:27

probleme preg_replace
 
Hello, bon j'utilise les bbcode, et j'en suis au tags
PHP Code:

xxx 

.

J'ai creer une fonction qui colorie les tags php:

PHP Code:

# Functie voor de php code
function phpHighlight($code){

   $code = "<?php\n".$code."\n?>";
   $code = stripslashes($code);
   $code = highlight_string($code, true);
   $code = explode('<br />', $code);
  
   $text = "<div style='margin:0px 5% 0px 5%;' class='smallfont'><b>PHP :</b><hr color=#5C7099 size=1 /><table>";
  
   for ($x=0; $x < sizeof($code);$x++)
       $text .= $code[$x]."<BR>";

   $text .= "</table><hr color=#5C7099 size=1 /></div>";
   return $text;
  
}

Et comme vous savez tous avec le preg replace on fait par exemple pour le BBcode [b]

PHP Code:

$bericht preg_replace("/\[b\](.*?)\[\/b\]/si""<!-- BBCode Start --><B>\\1</B><!-- BBCode End -->"$bericht); 

donc on utlise le '\\1' pour filtrer le text entre les tags !

Et c'est ce que je veux faire avec mes tags PHP .. seulement je n'arrive pas a le mettre dans une fonction .. j'ai déjà essayer c truc si:

PHP Code:

$bericht preg_replace("/\[PHP\](.*?)\[\/PHP\]/si"phpHighlight("\\1"), $bericht);

$bericht preg_replace("/\[PHP\](.*?)\[\/PHP\]/si"phpHighlight('\\1'), $bericht);

$bericht preg_replace("/\[PHP\](.*?)\[\/PHP\]/si"phpHighlight(\\1), $bericht); 

Mais rien qui marche, l'un prend comme text, et l'autre donne des erreur . Et la je n'ai plus didee :(

Quelqu'un a t'il un soluce ??? :D

Magi-X 16-04-2004 15:09

Re: probleme preg_replace
 
M'enfin c'est quand meme grave ... je cherche pendant des heur , je ne trouve pas, et quand je post mon probleme je trouve :rolleyes:

bon voila pour ceux qui ca interesse, faut le faire de cette maniere :

PHP Code:

$bericht preg_replace_callback("#\[PHP\](.*?)\[\/PHP\]#si",  create_function('$matches''return phpHighlight($matches[1]);'), $bericht); 



All times are GMT +2. The time now is 20:22.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.