dringende REPLACE Frage/Problem

Alles, was PHP betrifft, kann hier besprochen werden.

dringende REPLACE Frage/Problem

Postby tHarry » 01. August 2003 11:29

Hallo!

Hatte dies schon mal gepostet, allerdings dachte ich die Lösung schon zu haben,... es geht auch nur nicht so ganz wie ich es will...

also ich habe in einem String/Zeile eine oder mehrere Variablen denen ich ersetzt haben möchte...
da ich aber nicht weiß welche Variablen dies sind möchte ich diese zuerst rauslesen...


eben habe ich einen String inkl. einer Variable..

$str = 'Hallo [=name=]! Wie gehts dir?!';


jetzt funzt ja folgendes..

if (eregi("[=(.+)=]", $str, $regs))
{ $str = str_replace($regs[0], $VARS[$regs[1]], $str); }

Variablen sind:

... $VARS[name] = "Hansi";
... $VARS[test] = "Dies ist ein Test";


aber folgendes geht nicht mehr....
... (mit 2 Variablen im gleichen String/Zeile)

$str = 'Hallo [=name=]! Wie gehts dir?! [=test=]';

if (eregi("[=(.+)=]", $str, $regs))
{
for ($i=1; $i!=sizeof($regs); $i++) {
$str = str_replace("[=$regs[$i]=]", $VARS[$regs[$i]], $str);
}
}

Das Ergebnis beim ersten... [=name=] ist durch Hansi ersetzt!
Das Ergebnis beim zweiten.. es steht nur mehr "Hallo"

Hoffe mir kann da wer helfen!

Lg, Harry
Whistler/Sp2, AMD2000+, Xampp 1.5.2,
Whistler/Sp2, P4/2Ghz, Xampp 1.5.2,
Apache und MySQL als Service
---------------
Max OS X 10.4 - iBook G4 - Xampp 0.5
tHarry
 
Posts: 54
Joined: 19. April 2003 17:58

Lösung gefunden:

Postby tHarry » 01. August 2003 17:07

if (preg_match_all("/$VAR[0]#(.+)#$VAR[1]/U", $_, $res, PREG_SET_ORDER))
{
for ($i=0; $i!=sizeof($res); $i++) {
echo "<br>$i = ".$res[$i][0]." = ".$res[$i][1]."<br>";
$_ = preg_replace("/".$res[$i][0]."/", "hallo", $_);
} // END FOR
}
Whistler/Sp2, AMD2000+, Xampp 1.5.2,
Whistler/Sp2, P4/2Ghz, Xampp 1.5.2,
Apache und MySQL als Service
---------------
Max OS X 10.4 - iBook G4 - Xampp 0.5
tHarry
 
Posts: 54
Joined: 19. April 2003 17:58


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests