Avatar billede udvikler Nybegynder
13. februar 2006 - 11:06 Der er 12 kommentarer og
1 løsning

Fejl i preg_replace

jeg indsætter denne kode når spørgsmålet udskrives:

$besked = preg_replace("#\[code\](.*)\[/code\]#","<div style=\"padding: 50px; width: 300px;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"border: 1px solid #000000; padding:5px; font-family:Verdana, arial; font-size: 12px;\">Kode</td></tr><tr><td style=\"border: 1px solid #000000; padding:5px; font-family:Lucida Console,arial; font-size: 14px;\">$1</td></tr></table></div>", $_POST['besked']);

den burde gøre sådan at hvis den finder et sted hvor der står [code]blabla[/code] så skal indholdet (blabla) vises i en css box.

men den udskriver det bare direkte som:

[code]blabla[/code]
Avatar billede udvikler Nybegynder
13. februar 2006 - 12:05 #1
Jeg har lige prøvet - i et seperat dokument - at indsætte præcis den samme kode som der står i spørgsmålet. Jeg har også indsat et textarea med navnet "besked" og det virkede. Hver gang jeg skrev [code]et eller andet[/code] så kom det i en fin lille box. Hvorfor virker det så ikke i min rigtige fil?
Kan det have noget at gøre med at jeg skriver dette EFTER ovenståene $besked variabel

$besked = str_replace("<", "&lt;", $_POST['besked']);
$besked = str_replace(">", "&gt;", $_POST['besked']);
$besked = mysql_real_escape_string(nl2br(htmlentities(addslashes($_POST['besked']))));
Avatar billede udvikler Nybegynder
13. februar 2006 - 13:59 #2
Ingen der kan hjælpe? :-(
Avatar billede horsmark Nybegynder
13. februar 2006 - 14:42 #3
prøv at lave en var_dump($besked) efter hver manipulering sådan her

$besked = str_replace("<", "&lt;", $_POST['besked']);
var_dump($besked);
$besked = str_replace(">", "&gt;", $_POST['besked']);
var_dump($besked)

...så finder du hurtigt ud af hvor det går galt
Avatar billede udvikler Nybegynder
13. februar 2006 - 14:45 #4
jeg for udskrevet:

string(0) "" string(0) "" string(0) "" string(0) ""

hvad betyder det ?
Avatar billede horsmark Nybegynder
13. februar 2006 - 14:50 #5
well *GG*

prøv i starten af siden print_r($_POST) tror ikke du har submitted noget i POST form der hedder "besked"
Avatar billede horsmark Nybegynder
13. februar 2006 - 14:52 #6
Avatar billede udvikler Nybegynder
13. februar 2006 - 14:55 #7
hvis jeg bare skriver

print_r($_POST);

så udskriver den:

Array ( )
Avatar billede udvikler Nybegynder
13. februar 2006 - 15:02 #8
Jeg har fået det til at virke nu :-)

skulle bare ændre $_POST['besked'] til $besked

Hvis du tillader, så spørger jeg lige om noget mere :-)

I min css del som definere boxen har jeg sat bredten 300px som BURDE gøre sådan at lige meget om der står millioner af tegn eller nu 1 så burde boxen være 300px bred. Højden skal dog automatisk tilpasse sig efter hvor meget tekst der er. Det gør den bare ikke???
Avatar billede horsmark Nybegynder
13. februar 2006 - 15:02 #9
det betyder at du ikke fanger noget ved at bruge $_POST['besked'] ergo der er en fejl i din form på siden før
Avatar billede udvikler Nybegynder
13. februar 2006 - 15:11 #10
læs min 15:02:19 :-)
Avatar billede horsmark Nybegynder
13. februar 2006 - 15:32 #11
mht til css så er du nu stødt på de evindelige problemer med boksmodellen. Du _skal_ læse dette *s*

http://www.html.net/tutorials/css/lesson9.asp

og hack´et

http://tantek.com/CSS/Examples/boxmodelhack.html
Avatar billede udvikler Nybegynder
13. februar 2006 - 15:38 #12
Prøver jeg om lidt.. Indtil da læg et svar
Avatar billede horsmark Nybegynder
13. februar 2006 - 15:42 #13
super.. tro mig boxmodellen er den korteste vej til større mavesår ;-)
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