frage zu preg_replace

  • Themenstarter Themenstarter jinroh
  • Beginndatum Beginndatum
J

jinroh

Leute ich brauche Hilfe :)

ich komm einfach nicht weiter.

<?php
echo preg_replace("!\[chart\](.*)\[/chart\]!", formatCHART('\\1','\\Punkte','10000'), $formatCHART);
?>

Mit festen Werten geht es. Mein problem ist allerdings, dass ich die 3 Werte
[chart]1,Punkte,10000[/chart] immer anders übergebe.

Wie kann ich das machen, dass er es richtig über preg_replace umwandelt und hinten in die Funktion einträgt? Oder gibt es eine andre version?
 
Könntest du mir vielleicht dein Problem genauer schildern ? Bzw. was willst du genau machen ? Was klappt nicht? Was macht FormatCHART() ?


mfg
 
1.)Bitte Code-Formatiertags ([ php][ /php], ohne Space) benutzen
2.)Wenn ich dich richtig verstanden hab, dann musst du den Modifie 'e' verwenden, damit es als php-Code ausgewertet wird, oder du verwendest [phpf]preg_replace_callback[/phpf]
PHP:
<?php
echo preg_replace("!\[chart\](.+),(.+),(.+)\[/chart\]!e", 'formatCHART("\\1","\\2","\\3")', $formatCHART);
?>

Nachtrag
Ich hab ein bisschen gegoogelt und bin auf ein Vergleich/Benchmark zwischen preg_replace + e und preg_replace_callback gestoßen... Ist ganz interessant, denn [phpf]preg_replace_callback[/phpf] schneidet doch etwas besser ab...
 
Zuletzt bearbeitet:
Zurück