Gå til innhold

Problem med str_replace og arrays


Anbefalte innlegg

// La oss si vi har setningen:
$string = "Jeg liker ikke kaker, chips og cola.";

// også har vi to arrays:
$search = array("kaker", "chips", "cola");
$replace = array("epler", "tomater", "vann");

// så vil vi bruke str_replace for å skifte ut ordene:
$output = str_replace($search, $replace, $string);

Og jeg får følgende: "Jeg liker ikke epler, tomater og vann". Den er grei, MEN dersom jeg har:

 

$output = str_replace($search, "<i>$replace</i>", $string);

Da blir ordene byttet ut med "Array". Jeg håpte det ville stå:

 

Jeg liker ikke <i>epler</i>, <i>tomater</i> og <i>vann</i>."

Hvordan kan jeg løse dette problemet?

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-rXRozPkg

Du må i hvertfall ta bort "<i></i>" fra den andre parameteren.

str_replace tolker "<i>$replace</i>" som en string, og ikke et array når de taggene er der sammen med "

Det er derfor du får ut "Array".

 

Hvis du må ha med <i>, så kan du enten legge det til i den originale strengen ($string) eller i $replace;

$replace = array("<i>epler</i>", "<i>tomater</i>", "<i>vann</i>");

Endret av Slettet-rXRozPkg
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...