Avatar billede webweaver Praktikant
19. maj 2008 - 13:57 Der er 12 kommentarer og
1 løsning

str_replace og foreach

Hey guys :)

Er der nogen simpel forklaring på, hvorfor min str_replace ikke virker inde i min løkke, men virker fint udenfor den?

Hvad kan man så gøre i stedet?

preg_match_all('/<span style="color:(.*?);">(.*?)<\/span>/si', $description, $colorIsolator);
                       
foreach($colorIsolator[1] AS $match) {
                               
$hexa++;
$color++;
                       
$hexa = $match;
                       
$description = str_replace('<span style=\"color:', '<span class="' . $color . '" style="color:', $description);
                               
}

Skal jeg benytte en while istedet måske?

På forhånd tak.

Mvh. Lasse Jensen
Avatar billede elskermad.dk Nybegynder
19. maj 2008 - 14:25 #1
uden jeg lige er sikker på noget, men hvorfor angiver du indexet på $colorIsolator i foreach'en?
Avatar billede blackscorpion Nybegynder
19. maj 2008 - 23:59 #2
mener du skal bruge en preg_replace på den.
Avatar billede webweaver Praktikant
24. maj 2008 - 11:10 #3
Kan nu stadig ikke få det til at funke. Heller ikke med preg_replace.
Vi er enige om den burde se sådan her ud, right?;

$description = preg_replace('<span style=\"color:', '<span class="' . $color . '" style="color:', $description);
Avatar billede olebole Juniormester
24. maj 2008 - 12:28 #4
<ole>

Nej, det virker meget lidt sandsynligt. Hvad er det helt præcist, du ønsker at lave?

/mvh
</bole>
Avatar billede webweaver Praktikant
24. maj 2008 - 14:03 #5
Ønsker at få en str_replace ud af det.

<span style=\"color: skal udskiftes med <span class="' . $color . '" style="color: i variablen $description.
Avatar billede olebole Juniormester
24. maj 2008 - 14:56 #6
- hvilken overmådig grundig præcision!
Avatar billede olebole Juniormester
24. maj 2008 - 14:57 #7
- og spørgsmålet lød: "Hvad er det helt præcist, du ønsker at lave?"
Avatar billede webweaver Praktikant
24. maj 2008 - 17:10 #8
Øhh Ole, der har jeg lige svaret på?

Jeg skal finde noget i en kode og udskifte det med noget andet.
Som jeg skrev. Det gælder et nyhedsbrev.

Jeg kan ikke se hvad mere du vil vide, når du spørger på den måde. Jeg har allerede skrevet hvad det er som skal udskiftes, og med hvad det skal udskiftes med.

Hvad mere vil du vide?
Avatar billede webweaver Praktikant
24. maj 2008 - 17:12 #9
Angående mit Regex og foreach så henter det bare nogle værdier ud, og det virker fint nok. Det er bare den str_replace som ikke udskifter det som den skal.
Avatar billede olebole Juniormester
25. maj 2008 - 00:14 #10
Din kode hænger overhovedet ikke sammen og jeg fatter ikke tanken bag den. Da du heller ikke uddyber tanken bag, forstår jeg stadig ikke, hvad det er, du prøver.
Ja, det er et nyhedsbrev - og ja, du prøver at lave en RegExp - og ja, du prøver noget med en replace i en løkke ... men hvad det er, du vil lave, har du stadig ikke forklaret
Avatar billede olebole Juniormester
25. maj 2008 - 00:15 #11
"Det er bare den str_replace som ikke udskifter det som den skal." >> Nå, jamen hvordan skal den da skifte ud - og hvordan skifter den ud nu?
Avatar billede webweaver Praktikant
25. maj 2008 - 20:05 #12
Regex'et du ser i den postet kode, finder en bestemt string i en variabel.
Derefter lister jeg dem i et array med et nummer fra 1 og op efter, som jeg skal bruge et andet sted i et stylesheet.

Bagefter det skal jeg så have skiftet den bestemte string ud med en anden string via str_replace eller preg_replace, da jeg skal have indført noget CSS i linien.

Gav det bedre mening?

Str_replace skal bare skifte ud, som den gør normalt.
$description = str_replace('<span style=\"color:', '<span class="' . $color . '" style="color:', $description);

Problemet er den kun virker, hvis den ikke ligger inde i foreach {}, hvilket den skal så vidt jeg kan se, da den skal bruge variablen $color som også bare er et tal som stiger hver gang den finder et match.
Avatar billede webweaver Praktikant
09. juli 2008 - 21:28 #13
Fik ikke løst problemet, men desværre fandt jeg ikke det rigtige svar her.
Prøver igen senere ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester