Avatar billede webweaver Praktikant
02. marts 2008 - 00:17 Der er 15 kommentarer og
1 løsning

str_replace funker ikke

Godaften derude.

Jeg har et irriterende problem. Jeg benytter mig af nogle str_replaces. Jeg har 5 af dem, og de 4 første virker. Den 5, sker der dog overhovedet ikke noget med. Som om den slet ikke har forbindelse til noget. De alle køres på samme variabel.

Den ser således ud:

$description = str_replace("<font face=\"impact,chicago\">", "<span style=\"font-family:>", $description);

Er der nogen tegn eller noget, som den ikke må indeholde, siden den ikke eksikveres?

Btw, så ved jeg godt at der mangler fonttyperne i css'en, men det er for at spare bogstaver her ..

På forhåndt tak (:

Mvh. Lasse Jensen
Avatar billede smitten1 Nybegynder
02. marts 2008 - 00:20 #1
et problem kan være, at str_replace kender forskel på store og små bogstaver
Avatar billede webweaver Praktikant
02. marts 2008 - 01:07 #2
Det hele står med småt i koden. Så det er ikke noget problem. Det er småt hver gang, da det er den samme kode som bliver genereret.
Avatar billede smitten1 Nybegynder
02. marts 2008 - 01:17 #3
hvis du prøver at lave en echo af $description og kopierer den relevante del ind her, så  går der måske et lys op
Avatar billede nwn Nybegynder
02. marts 2008 - 01:49 #4
Er det denne her der ikke virker:

$description = str_replace("<font face=\"impact,chicago\">", "<span style=\"font-family:>", $description);

?

Hvordan vil du gerne have den til at virke?

Du mangler vel at skrive en skrifttype efter font-family: i din span ?
Avatar billede olebole Juniormester
02. marts 2008 - 03:38 #5
<ole>

Undskyld, men hvad er det ved denne her, du ikke kan få til at virke:

$description = <<<STREND
Bla blabla bla <font face="impact,chicago">blabla</font> blabla bla
STREND;

$description = str_replace("<font face=\"impact,chicago\">", "<span style=\"font-family:impact,chicago\">", $description);
$description = str_replace("</font>", "</span>", $description);

print $description;

/mvh
</bole>
Avatar billede webweaver Praktikant
02. marts 2008 - 09:48 #6
Til smitten1:

Det er faktisk bare denne kode den skal benytte str_replacen på;

<img src="images/bottom_top.jpg" alt="" />
<div class="content_newsletter"><font face="impact,chicago">dfdsfsdf</font></div>
<img src="images/bottom.jpg" alt="" />

Teksten i font er variabel, men selve html'en er ikke, og derfor burde det virke fint. Men gør det altså ikke ;S
Avatar billede webweaver Praktikant
02. marts 2008 - 09:50 #7
Til nwn:

Ja det er den som ikke virker. Og jeg vil have den til at virke som str_replace virker nu en gang. Det første input, er det som skal udskiftes med det næste input efter kommaet.
Avatar billede webweaver Praktikant
02. marts 2008 - 09:54 #8
Til Olebole:

Sjovt nok Ole, hvis jeg vidste det, ville jeg nok ikke spørge om det herinde? ;)
Den virker ikke kan jeg fortælle. Og mere ved jeg ikke. Derfor spørger jeg her ;)

Har beskrevet problemet i indledningen ..
Avatar billede nwn Nybegynder
02. marts 2008 - 16:14 #9
Jamen det er vel fordi du mangler at afslutte style?

$description = str_replace("<font face=\"impact,chicago\">", "<span style=\"font-family:>", $description);

Skal være sådan:

$description = str_replace("<font face=\"impact,chicago\">", "<span style=\"font-family:\">", $description);
Avatar billede webweaver Praktikant
02. marts 2008 - 16:29 #10
Det er ikke derfor. Det bliver afsluttet et andet sted. Det er ikke stylen som ikke fungerer. Det er min str_replace. Den replacer slet ikke noget, hvilken den bør gøre ligemeget hvad den indeholder?
Avatar billede nwn Nybegynder
02. marts 2008 - 21:02 #11
Prøv at post al din kode, så jeg også kan se hvordan du udskriver osv.
Avatar billede webweaver Praktikant
03. marts 2008 - 20:51 #12
Jamen den får du da med glæde, hvis det muligvis kan hjælpe lidt (:

http://www.webweaver.dk/newsletter_w.phps
Avatar billede nwn Nybegynder
04. marts 2008 - 22:35 #13
Altså, umiddelfart efter din kommentar: 02/03-2008 09:48:20, så må det være pga af \"

PHP betragter ikke åbenbart ikke \" og " som det samme.

Prøv at smide følgende:

<img src="images/bottom_top.jpg" alt="" />
<div class="content_newsletter"><font face="impact,chicago">dfdsfsdf</font></div>
<img src="images/bottom.jpg" alt="" />

i en echo, og erstat alle " med \".

Så burde det da virke ?
Avatar billede webweaver Praktikant
08. marts 2008 - 09:51 #14
Har kigget på det og det lader ikke til at være " og \" som er problemet.

Prøvede også med font face alene, og oplevede samme problem.
Så meget tyder altså på at mellemrummet er problemet!

Kan det virkelig være rigtigt? Hvad gør man så?
Avatar billede webweaver Praktikant
08. marts 2008 - 10:34 #15
Det viser sig alligevel at være " som var problemet, og ikke mellemrummet.
Det virker nu, og koden skal se sådan her ud:

$description = str_replace('<font face=\"', '<span style=\"font-family: ', $description);

Tak for hjælpen :)
Avatar billede nwn Nybegynder
08. marts 2008 - 11:37 #16
Det lyder godt, og tak for points (:
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