Avatar billede soelle Nybegynder
31. juli 2007 - 22:53 Der er 15 kommentarer og
1 løsning

Inkludere fil fra fckeditor

Jeg har lavet en side som jeg kan opdatere via fckeditor og en database. Nu har jeg så lavet en fil som jeg gerne vil inkludere blandt det almindelige tekst på siden. Hvordan gøres dette? Man kan jo ikke skrive php kode direkte i editoren (som kommer med i databasen, vel at mærke).
Avatar billede codebase Praktikant
01. august 2007 - 02:22 #1
Det kan du nu godt.. Du kan lave en notation, altså dine egne tags som betyder det er php du har ind i mellem dine tags, på samme måde som du eks. Har titlen på en HTML side imellem <TITLE> og </TITLE>


Hvis din notation er [PHP] 'her er din php kode' [/PHP] så kan du eksekvere det via <?php (php kode start) 'her er din kode' ?> (php kode slut)


Men det er nok en god ide at tjekke om koden er i orden inden du eksikvere den.

Hertil kan du benytte funktionen http evel --> http://dk.php.net/evel




En ideer til en metode, til at komme rundt om dit request.

Codebase :)
Avatar billede jakobdo Ekspert
01. august 2007 - 07:05 #2
Rettelse: Funktionen hedder eval() - http://dk.php.net/eval
Avatar billede soelle Nybegynder
01. august 2007 - 08:44 #3
Nu er jeg lidt grøn i det her, så hvordan skriver jeg det på den side der skal vise data fra databasen? Lige nu vises data fra databasen på flg. måde: <?php echo $DBindhold['bodyindhold']; ?>
Avatar billede soelle Nybegynder
01. august 2007 - 16:34 #4
Jeg kan tilføje at i bodyindhold er der også en masse alm. tekst. Så det er ikke kun php  kode der står.
Avatar billede jakobdo Ekspert
01. august 2007 - 19:11 #5
Jeg er ikke sikker, men du kan prøve:

<?php echo eval($DBindhold['bodyindhold']); ?>
Avatar billede soelle Nybegynder
01. august 2007 - 19:38 #6
Ja, det virker hvis jeg kun skriver php kode i databasen. Altså hvis jeg i databasen manuelt skriver

echo "test";

i databasen så virker det, men det skal jo så blandes med almindelig tekst. Er det så noget med en kombination af det codebase skriver?
Avatar billede jakobdo Ekspert
01. august 2007 - 19:45 #7
Prøv at lav:

<p>Noget tekst</p>
<p> echo "test"; </p>
Avatar billede soelle Nybegynder
01. august 2007 - 19:56 #8
Så melder den fejl:

Parse error: syntax error, unexpected '<'
Avatar billede jakobdo Ekspert
01. august 2007 - 20:03 #9
Så skal du nok gøre som codebase skrev ja, hvor du smider det ind i <code>echo "test";</code>

Og så trækker alt tekst mellem <code> og </code> ud og smider gennem eval().
Avatar billede soelle Nybegynder
01. august 2007 - 22:06 #10
Okay. Jeg har prøvet med dette men jeg får ikke noget output:

$string = "[code] echo 'test'; [/code]";
$patterns[0] = "/\[code\]/";
$patterns[1] = "/\[\/code\]/";
$replacements[0] = "<?php ";
$replacements[1] = "?> ";
echo preg_replace($patterns, $replacements, $string);
Avatar billede soelle Nybegynder
02. august 2007 - 08:18 #11
Jeg fik det løst på flg. måde:

$string =$CMSindhold['bodyindhold'];
$patterns[0] = "/\[PHP\]/";
$patterns[1] = "/\[\/PHP\]/";
$replacements[0] = "<?php ";
$replacements[1] = "?>";
$newstring= preg_replace($patterns, $replacements, $string);
eval("?>". $newstring ."<?php ");
Avatar billede soelle Nybegynder
02. august 2007 - 08:18 #12
Vil I af med et svar så jeg kan give point for hjælpen?
Avatar billede codebase Praktikant
02. august 2007 - 12:55 #13
samler ikke på points :)
Avatar billede soelle Nybegynder
02. august 2007 - 14:39 #14
Okay :-)

Smider du så et svar jakobdo?
Avatar billede jakobdo Ekspert
04. august 2007 - 09:02 #15
Svar!
Avatar billede jakobdo Ekspert
04. august 2007 - 10:03 #16
Takker for point.
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