Avatar billede food4u.dk Nybegynder
26. april 2002 - 17:24 Der er 6 kommentarer og
1 løsning

Splitte en kommasepareret tekst/string ad.

Hejsa

Jeg er ved at lave et system, og i den forbindelse, skal jeg lave noget der kan sætte et billede ind.

Det skal være sådan, at man via et interface kan skrive en tekst, hvori der kan være billeder. Hvis man vil have et billede sat ind i tekst, klikker man på ens billede, og en kode bliver sat ind i teksten, den ser sådan ud:
#PS#1,1,r,n#PE#

Denne skal så splittes således at man får gemt de forskellige ting som variabler:
#PS#aid,pid,align,size#PE#, i ovenstående skulle det altså se sådan ud:
$aid = 1
$pid = 1
$align = r
$size = n

efter dette, skal hele koden erstates af en funktion:
pic($aid, $pid, $align, $size) som så genere HTML koden der skal vise billedet, og sætter det ind i resten af teksten.

Jeg ved ikke om det er forklaret godt nok, håber det.

MVH
Christoffer
www.food4u.dk
Avatar billede gizmo-gizmo Nybegynder
26. april 2002 - 17:39 #1
Du kan jo splitte strengen op med:
$bla = explode(",", $streng);
$bla[1] = 1;
$bla[2] = 1;

osv
Avatar billede invisibleman Nybegynder
26. april 2002 - 17:40 #2
How 'bout this ?

    $str = "#PS#1,1,r,n#PE#";
    # Fjern #(noget)# fra strengen
    $str = preg_replace("/#.*#/iU", "", $str);
    # Split den og lav variabler
    $arr = explode(",", $str);
    $aid = $arr[0];
    $pid = $arr[1];
    $align = $arr[2];
    $size = $arr[3];
Avatar billede leflings Nybegynder
26. april 2002 - 17:41 #3
hvad så når aid er på 2 karakterer?
Avatar billede food4u.dk Nybegynder
26. april 2002 - 17:50 #4
Ok, men hvordan får jeg sat det hele sammen, hvis nu jeg har denne tekst, som hentes fra en db:

<start>
Så kommer der snart en ny internetbutik i Danmark, den 15. januar 2002 starter webshoppen nemlig på shopasia.dk

#PS#1,1,r,n#PE#Shopasia er en thailandsk købmandsbutik i København, som siden 02-08-1999 har solgt thailandske råvarer. I september sidste år, begyndte butikken at få friske grønsager med fly fra thailand en gang om ugen.

På deres hjemmeside www.shopasia.dk, kommer der nu snart en webshop, hvor man kan købe alle deres gode råvarer.
<slut>

Hvordan får jeg så skiftet #PS#1,1,r,n#PE# ud med der min funktion pic udskriver?
Avatar billede eeyore Nybegynder
26. april 2002 - 20:06 #5
Lad os sige, du har en variabel:

$string = '#PS#1,1,r,n#PE#';

og en anden:

$text = 'Så kommer der snart en ny internetbutik i Danmark, den 15. januar 2002 starter webshoppen nemlig på shopasia.dk #PS#1,1,r,n#PE#Shopasia er en thailandsk...';

Så kan du sige:

$pic = pic($aid, $pid, $align, $size);
$text = ereg_replace($string,$pic,$text);

(hvor du har fundet $aid, $pid, $align og $size efter gizmo-gizmo eller invisebleman's forslag...
Avatar billede food4u.dk Nybegynder
26. april 2002 - 21:04 #6
Hmm, jeg kan ikke rigtig bruge noget af alt det her til noget. Jeg har jo ikke bare en variabel der hedder med #PS#1,1,r,n#PE#, men en lang tekst, med disse koder inden i. Og det er DE koder jeg vil have lavet om, men hvordan?
Avatar billede food4u.dk Nybegynder
26. april 2002 - 21:40 #7
Lukker, har fundet en anden løsning, måske.

Har bare et lille spm som i evt. kan svare på. Kig i PHP kategorien.
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