05. august 2008 - 13:43
Der er
4 kommentarer og 1 løsning
PHP preg_replace problem
Goddag. Jeg sidder med et utroligt underligt problem med preg_replace funktionen i PHP. Følgende virker ikke: $array[message] = 'hej'; $array[message1] = 'med'; $array[message2] = 'dig'; $str = 'en streng hvor %message% skal replaces.'; foreach($array as $key => $value) { $return = preg_replace("/%$key%/", $value, $str); } Men tilgengæld virker følgende: $array[message] = 'hej'; $array[message1] = 'med'; $array[message2] = 'dig'; $str = 'en streng hvor %message% skal replaces.'; foreach($array as $key => $value) { if($key == 'message') $p = 'message'; $return = preg_replace("/%$p%/", $value, $str); } Resume: preg_replace() functionen godtager ikke variablen fra foreach... Tak på forhånd :) P.S. Jeg har tjekket for datatype, ens strenge. både $p og $key er af samme type og har nøjagtigt det samme indhold.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
05. august 2008 - 13:56
#1
Er det ikke fordi du bliver ved at replace i $str, der aldrig ændres? foreach($array as $key => $value) { $return = preg_replace("/%$key%/", $value, $str); } ---> foreach($array as $key => $value) { $str = preg_replace("/%$key%/", $value, $str); }
05. august 2008 - 13:56
#2
Nemlig ;) Følgende kode udskriver: " en streng hvor hej skal replaces. " $array[message] = 'hej'; $array[message1] = 'med'; $array[message2] = 'dig'; $str = 'en streng hvor %message% skal replaces.'; foreach($array as $key => $value) { $str = preg_replace("/%$key%/", $value, $str); } print "$str\n";
05. august 2008 - 13:57
#3
05. august 2008 - 14:01
#4
haha! fuck hvor er jeg dum ;) Mange tak gutter :D
05. august 2008 - 14:01
#5
Jamen så bliver det et svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling