Avatar billede mysitesolution Nybegynder
09. november 2004 - 14:59 Der er 8 kommentarer og
1 løsning

ereg_replace ting mangles

hej... skal bruge en funktion til at opdele noget fra en streng og lave det om :) DET SKAL være ereg_replace der bliver brugt :)

har ffx denne streng:

<html>
<body>
[textbox left=300 top=500]Velkommen til noget[/textbox]
</body>
</html>

[textbox left=300 top=500]Velkommen til noget[/textbox] skal så laves om til:

<div class="textbox" style="left: 300px; top: 500px">Velkommen til noget</div>
Avatar billede mysitesolution Nybegynder
09. november 2004 - 14:59 #1
altså [textbox left=X top=Y]Velkommen til noget[/textbox] skal laves til:

<div class="textbox" style="left: Xpx; top: Ypx">Velkommen til noget</div>
Avatar billede jaw Nybegynder
09. november 2004 - 15:05 #2
Måske:

$str = "[textbox left=X top=Y]Velkommen til noget[/textbox]";
$str = preg_replace("|\[textbox left=(.+) top=(.+)\](.+)\[/textbox]|is", "<div class='textbox' style='left: \\1px; top: \\2px;'>\\3</div>", $str);
Avatar billede erikjacobsen Ekspert
09. november 2004 - 15:10 #3
Nå, så kom du først. Mit forslag er en smule anderledes, men kun lidt ;)

$str2=preg_replace('/\[textbox\s+left=(\d+)\s+top=(\d+)\](.*?)\[\/textbox\]/i','<div class="textbox" style="left: \1px; top: \2px">\3</div>',$str);
Avatar billede mysitesolution Nybegynder
09. november 2004 - 20:55 #4
jaw opret svar
Avatar billede jaw Nybegynder
09. november 2004 - 21:06 #5
Det vil jeg så gøre... Og ked af at jeg kom først Erik - det er vist aldrig sket før :)
Avatar billede erikjacobsen Ekspert
09. november 2004 - 22:26 #6
Det er helt i orden. Jeg kom jo med den rigtigste løsning. Jeg skal bede
spørgere prøve at køre jaws "løsning" på strengen:

$str="<html>
<body>
[textbox left=300 top=500]Velkommen til noget[/textbox]

[textbox left=3 top=5]Hejsa[/textbox]
</html>
<body>";

og observere resultatet. Retfærdigvis mindede jaw mig om en lille tilføjelse,
der burde være til stede i min løsning:

$str2=preg_replace('/\[textbox\s+left=(\d+)\s+top=(\d+)\](.*?)\[\/textbox\]/is','<div class="textbox" style="left: \1px; top: \2px">\3</div>',$str);
Avatar billede mysitesolution Nybegynder
09. november 2004 - 22:42 #7
jeg må indrømme at jeg ikke har testet, men regnede da med at den ville virke...
Avatar billede jaw Nybegynder
10. november 2004 - 01:33 #8
Hmmm... Det er meget muligt det ikke er den mest korrekte løsning - beklager. Men jeg kan nu ikke helt få øje på det du henviser til, Erik?!
Avatar billede jaw Nybegynder
10. november 2004 - 04:33 #9
Årh jow ! Nu kan jeg se det :( Det resultat bliver ikke særlig pænt... Jeg trækker mig, og lader Erik vinde...
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