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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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