02. september 2004 - 09:36Der er
27 kommentarer og 1 løsning
Parse PHP script fra database
Jeg er i gang med endnu en hjemmeside, og er løbet ind i lidt af et problem.
Jeg henter mit sideindehold ud af en database (vha php og mysql) og det fungerer helt fint, men jeg skal også have noget php script på de sider i databasen.
Men php kører jo ikke det igennem som jeg henter ud fra databasen, kan det ikke lade sig gøre? Det ville samtidig være bedst om jeg kunne køre en nl2br på det endelige output.
Lige nu smider jeg dataene fra databasetabellen ned i en fil, og inkluderer den, da php så kører filen gennem, men der må da findes en bedre måde?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvorfor ligger du det i en fil først ? Du kan da bare trække det direkte ud, gøre med udtrækket hvad du har lyst til, og derefter skrive det ud med echo.
Nej, hvor eval returnerer hvad du returnerer i dit script (Altså hvis du skriver "return 'hej';" så vil der komme 'hej' tilbage.) Resten ryger direkte til brugeren, med mindre man fanger det med ob_* ..
Hvordan ser din kode i $row['indhold'] ud ? Den burde nl2br() det,
Det kan du jo nemt fixe selv, ved at tilføje en <br> manuelt. Herligt det virker :)
Synes godt om
Slettet bruger
02. september 2004 - 12:20#21
Tilføje manuelt?
Ideen er at lavet noget lignende et CMS system, hvor man via en admin side skal kunne skrive siderne - og herunder også bruge PHP i siden.
Derfor skal brugeren ikke tænke på linjeskift osv (ud over at lave dem med enter naturligvis). Så må jeg bare tilføje en note om at der skal laves to linjeskift efter endt php, da den æder det ene.
Kunne også bare lave noget så simpelt som echo nl2br(eval('?>'.str_replace("?>","?> ",$row['indhold']).'<?')); da det åbenbart virker, om end det ikke er hensigtsmæssigt at putte et mellemrum ind, hvis det er meningen der ikke skal være et.
Kan du ikke bare replace med ?>\n ? så du bruger linjeskift istedet for mellemrum?
Men der er nok ikke nogen hel god løsning på det..
Synes godt om
Slettet bruger
02. september 2004 - 18:38#28
Nej for det er jo ikke sikkert jeg skal have linjeskift.
Synes godt om
Ny brugerNybegynder
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.