Ressortir PHP-Code entre [php] et [/php]

Ressortir PHP-Code entre [php] et [/php] - PHP - Programmation

Marsh Posté le 26-12-2006 à 15:53:36    

Salut,
j'ai programmú un cms/forum avec PHP et MySQL.
Il n'est pas encore fini, mais j'ai un question:
Pour le forum, je mettre un BB-Code fonction pour ressortir PHP-Code. Mon code:
[php]<?php
$derphpcode = '
<?
// eingegebener Text
   $test = "Hello World !";
 
// Ausgabe des Textes
   echo "$test";
?>';
 
function bb($code){
  //BB-Code
  $code = preg_replace('=\[b\](.*)\[/b\]=Uis', '<b>\1</b>', $code);
  $code = preg_replace('=\[u\](.*)\[/u\]=Uis', '<u>\1</u>', $code);
  $code = preg_replace('=\[k\](.*)\[/k\]=Uis', '<k>\1</k>', $code);
  $code = preg_replace('=\[h1\](.*)\[/h1\]=Uis', '<h1>\1</h1>', $code);
  $code = preg_replace('=\[h2\](.*)\[/h2\]=Uis', '<h2>\1</h2>', $code);
  $code = preg_replace('=\[h3\](.*)\[/h3\]=Uis', '<h3>\1</h3>', $code);
  $code = preg_replace('=\[h4\](.*)\[/h4\]=Uis', '<h4>\1</h4>', $code);
  $code = preg_replace('=\[h5\](.*)\[/h5\]=Uis', '<h5>\1</h5>', $code);
  $code = preg_replace('=\[left\](.*)\[/left\]=Uis', '<div align=\'left\'>\1</div>', $code);
  $code = preg_replace('=\[right\](.*)\[/right\]=Uis', '<div align=\'right\'>\1</div>', $code);
  $code = preg_replace('=\[center\](.*)\[/center\]=Uis', '<div align=\'center\'>\1</div>', $code);
  $code = preg_replace('=\[marquee\](.*)\[/marquee\]=Uis', '<marquee>\1</marquee>', $code);
  //$code = preg_replace('=\[\](.*)\[/\]=Uis', '<>\1</>', $code);
  $code = preg_replace('=\[url\](.*)\[/url\]=Uis', '<a href="http://\1">\1</a>', $code);
  //Smilies
  $code = str_replace(":)", "<img src=\"images/smilies/smilie1.PNG\" border=\"0\" alt=\"Fr&ouml;lich\">", $code);
  $code = str_replace(":daumenhoch:", "<img src=\"images/smilies/smilie2.PNG\" border=\"0\" alt=\"Daumen hoch\">", $code);
  $code = str_replace(":drunter:", "<img src=\"images/smilies/smilie3.PNG\" border=\"0\" alt=\"Daumen runter\">", $code);
  $code = str_replace(";(", "<img src=\"images/smilies/smilie4.PNG\" border=\"0\" alt=\"Betrübt\">", $code);
  $code = str_replace(":(", "<img src=\"images/smilies/smilie5.PNG\" border=\"0\" alt=\"Traurig\">", $code);
  $code = str_replace(":D", "<img src=\"images/smilies/smilie6.PNG\" border=\"0\" alt=\"Lachend\">", $code);
  $code = str_replace("8)", "<img src=\"images/smilies/smilie7.PNG\" border=\"0\" alt=\"Cool\">", $code);
  $code = str_replace(";)", "<img src=\"images/smilies/smilie8.PNG\" border=\"0\" alt=\"Zwinker\">", $code);
  $code = str_replace(":!", "<img src=\"images/smilies/smilie9.PNG\" border=\"0\" alt=\"B&ouml;se\">", $code);
  //Sonderzeichen ($code = str_replace("§", "&;", $code);)
  $code = str_replace("§c", "&copy;", $code);
  $code = str_replace("§r", "&reg;", $code);
  $code = str_replace("§tm", "&trade;", $code);
  $code = str_replace("§>>", "&#187;", $code);
  $code = preg_replace('=\[php\](.*)\[/php\]=Uis', highlight_string("\n" ));
  return $code;
}
echo(bb($derphpcode));
?>[/php]
Mais mon serveur(XAMPP) dit:
Warning: Wrong parameter count for preg_replace() in F:\Server\Maggy\cayras\bb-code.php on line 42
 
Est-ce qu'il ya une autre fonction pour ressortir le PHP-Code, ou est-ce que j'ai faute syntaxe?
 
MaggyMB
Editer:
Ma page est http://easydwg.pytalhost.com mais elle est en allemand et je ne sais pas si vous comprendrez quelce chose...


Message édité par MaggyMB le 26-12-2006 à 15:59:25

---------------
Je suis fier être un allemand!
Reply

Marsh Posté le 26-12-2006 à 15:53:36   

Reply

Marsh Posté le 26-12-2006 à 16:37:55    

preg_replace prend 3 paramètres, mais tu décides de n'en filer que deux sur le dernier... :spamafote:

Reply

Marsh Posté le 26-12-2006 à 16:40:56    

Il manque un paramètre à l'appel de preg_replace :
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit [, int &count]] )

Reply

Marsh Posté le 26-12-2006 à 16:44:28    

Accessoirement, highlight_string("\n" ) ne risque pas de faire grand chose. -_-
 
highlight_string('\1') c'est mieux.


Message édité par sielfried le 26-12-2006 à 16:44:52
Reply

Marsh Posté le 26-12-2006 à 20:11:14    

(Comment) Est-ce que je peu échanger le paramètre \1 de preg_replace dans une variable?
Edite:
Oh, j'ai oblié le paramètre $code dans le fonction preg_replace :ange:  :ange:  
Maintenant, PHP me donne:
<code><span style="color: #000000">
</span>
</code>
<?
// eingegebener Text
   $test = "Hello World !";
 
// Ausgabe des Textes
   echo "$test";
?>
Peut-être je devoir écrie un botte fonction au lieu de utiliser highlight_string...


Message édité par MaggyMB le 26-12-2006 à 20:18:04

---------------
Je suis fier être un allemand!
Reply

Marsh Posté le 27-12-2006 à 13:53:26    

Hallo deutschland
 
En fait faut faire différement quand t'utilises une fonction. Faut utiliser le modifier 'e' et mettre la fonction dans une string :

Code :
  1. $code = preg_replace('=\[php\](.*)\[/php\]=Uis', 'highlight_string(\'\\1\' )');

Reply

Sujets relatifs:

Leave a Replay

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