Avatar billede thulstrup Nybegynder
25. juni 2003 - 16:35 Der er 8 kommentarer og
3 løsninger

søg og tilføje

Hvordan kan jeg søge efter nogle priser i en streng og så tilføje noget kode til dem. Altså så:

12,- bliver til <font>12,-</font>
120,- bliver til <font>120,-</font>
1200,- bliver til <font>1200,-</font>
osv...
Avatar billede jakoba Nybegynder
25. juni 2003 - 16:38 #1
Svaret afhænger af hvad der ellers står i din fil. Er det muligt at lave en regel der sikrer at vui finder alle dem, og samtidig ikke nonder andre tal der ligner dem, men som ikke skal konverteres.
Avatar billede jakoba Nybegynder
25. juni 2003 - 16:39 #2
ups.  nonder -> nogen
Avatar billede thulstrup Nybegynder
25. juni 2003 - 16:42 #3
Der er ikke andre tal i strengen end priserne. Jeg tænkter noget med at kigge efter ,- og så checke hvor mange tal der er foran, men hvordan man lige gør det ved jeg ikke.
Avatar billede myplacedk Nybegynder
25. juni 2003 - 17:09 #4
Hvis strengen ikke indeholder andet end prisen, kan du gøre sådan her:

$prishtml = '<span class="pris">'.$pris.'</span>';

Men hvis der står andre ting i strengen, kan du gøre noget andet. Jeg forudsætter at alle tal, der står ",-" bag efter, er en pris:

$prishtml = preg_replace('/([0-9]+,-)/g', '<span class="pris">\1</span>', $pris);

Begge dele er utestede...
Avatar billede myplacedk Nybegynder
25. juni 2003 - 17:14 #5
Det kunne være, at jeg lige skulle forklare hvad den preg_replace gør. :)

[0-9] = et ciffer mellem 0 og 9, begge inklusive.
[0-9]+ = et eller flere cifre, så mange som muligt
[0-9]+,- = et eller flere cifre, og derefter komma og bindestreg

"så mange som muligt" betyder, at hvis der står "123,-" så tager den også 1 og 2 med.

Parentesen betyder at den skal huske det, der står inde i parentesen.
Skråstregerne afgrænser det, der søges efter.
"g" betyder at hvis der findes flere priser, skal de alle erstattes.
\1 betyder "indholdet af den første parentes".
Avatar billede thulstrup Nybegynder
25. juni 2003 - 17:49 #6
Jeg synes ikke helt det virker. PHP brokker sig over:
Warning: Unknown modifier 'g'

Jeg tror tilgengæld at jeg har fundet en anden løsning:
$indhold = ereg_replace("[0-9]+;\-", '<font> \\0 </font>', $indhold);
Avatar billede thulstrup Nybegynder
25. juni 2003 - 18:11 #7
Jeg lukker mit forslag virker. Tak for hjælpen!
Avatar billede thulstrup Nybegynder
25. juni 2003 - 18:30 #8
hmmmm
Avatar billede thulstrup Nybegynder
25. juni 2003 - 18:31 #9
Er det godt når der ikke er en "accepter" knap...?
Avatar billede myplacedk Nybegynder
26. juni 2003 - 07:56 #10
> Warning: Unknown modifier 'g'
Så prøv uden "g"...
Avatar billede riversen Nybegynder
26. juni 2003 - 08:02 #11
kan du acceptere dit svar nu?
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