Neuigkeiten:

still alive...

Hauptmenü

Frage zu preg_replace

Begonnen von j|n roh, 08. Oktober 2006, 11:19:16

Vorheriges Thema - Nächstes Thema

j|n roh

Hallo Leute,
bin neu hier und bin gerade an preg_replace dran und komme leider nicht weiter.
ich habe folgendes:
[chart]1,Punkte,10000[/chart]
diesen möchte ich gerne mit preg_replace umwandeln in
formatCHART(1,Punkte,10000);
wie baue ich das richtig um? alles was ich bis jetzt probiert hat, klappt nicht.. bekomme immer nur die 1 übermittelt. Liegt warscheinlich an der Trennung mit den Kommas
hat jemand ein Tip.. weiß leider nicht, wie ich das richtig umbaue.
vielen Dank schonmal

What isn\\\'t remembered, never happened.


Memory is merely a record...you just need to rewrite that record.


-------------------------------------------------------------------------------


j|n roh

Ich habs mal so probiert:
$text = preg_replace(\"!\\[chart\\](.*)\\[/chart\\]!\", call_user_func(formatCHART, \'$1\'), $var);
geht auch nicht..
dann habe ich es mal so gemacht. Habe die drei Werte mal \"manuell\" mitgegeben.
 
echo preg_replace(\"!\\[chart\\](.*)\\[/chart\\]!\", formatCHART(\'\\\\1\',\'\\\\Punkte\',\'10000\'), $formatCHART);
so 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?

What isn\\\'t remembered, never happened.


Memory is merely a record...you just need to rewrite that record.


-------------------------------------------------------------------------------




function formatChart($args)
{
   //  do something. first element of array contains $string, so
   //  skip it
}
$string     =   \\\'[chart]1,Punkte,10000[/chart]\\\';
echo preg_replace_callback(
           \\\'!\\\\[chart\\\\](\\\\d+),([^,]+),(\\\\d+)\\\\[/chart\\\\]!i\\\',
           \\\'formatChart\\\',
           $string
       );




all your base are belong to us / Discord