Avatar billede rasmus-madsen Nybegynder
13. december 2004 - 12:44 Der er 11 kommentarer og
1 løsning

include problem

Hejza allesammen.

Jeg gemmer noget html i en mysql databaser, og den tekst bliver udskrevet direkte echo $tekst.

Men jeg vil gerne kunne lave en ny lille funktion.
Når jeg gemmer teksten vil der være et sted i teksten hvor der står:
<include>side.php</include>
Men nu skal koden (inden den gemmer) lave den om til :
include("side.php"); Det er ikke svært. Det svære kommer i, at der ikke skal laves mere ved den side som udskriver $tekst.
Så den skal bryde ud og include siden..

Der sendes altså en tekst til databasen som denne:
Tekst tekst læksaasæl <include>side.php</include>mere tekst
Hvor efter det bliver til:
Tekst tekst læksaasæl" .include("side.php"); ."mere tekst

Så den nærmest bryder ud.

Forstår i ?
Avatar billede jakobdo Ekspert
13. december 2004 - 13:42 #1
$nytekst = preg_replace('/<include>(.+?)<\/include>/', 'include("$1");', $tekst);
Avatar billede rasmus-madsen Nybegynder
13. december 2004 - 16:58 #2
Det virker ikke helt.. Her er koden:
<?php
$text = "iasdaiosæjd<include>login_form.php</include>klkalsdk";
echo $text;
$text = preg_replace('/<include>(.+?)<\/include>/', 'include("$1");', $text);
echo $text;
?>

Som giver dette resultat:
iasdaiosæjdlogin_form.phpklkalsdkiasdaiosæjdinclude("login_form.php");klkalsdk
Avatar billede jakobdo Ekspert
13. december 2004 - 19:30 #3
Hvad så med:
$nytekst = preg_replace('/<include>(.+?)<\/include>/', ' include("$1"); ', $tekst);
Avatar billede jakobdo Ekspert
13. december 2004 - 19:31 #4
Jeg synes det ser korrekt ud!
Avatar billede jakobdo Ekspert
13. december 2004 - 19:31 #5
Prøv lige:

$nytekst = preg_replace('/<include>(.+?)<\/include>/', '\" . include("$1"); . \"', $tekst);
Avatar billede rasmus-madsen Nybegynder
13. december 2004 - 21:39 #6
desværre det samme.
Avatar billede jakobdo Ekspert
13. december 2004 - 22:09 #7
Hvad siger du fejlen er?
Avatar billede jakobdo Ekspert
13. december 2004 - 22:16 #8
Det her virker fint:

$nytekst = preg_replace('/<include>(.+?)<\/include>/s', '" . include(\\"$1\\"); . "', $tekst);
Avatar billede rasmus-madsen Nybegynder
13. december 2004 - 22:24 #9
Den udskriver bare teksten.. Den includer ikke filen som den skal:
iasdaiosæjd" . include(\"login_form.php\"); . "klkalsdk.
Er resultat..

Koden er:
<?php
$text = "iasdaiosæjd<include>login_form.php</include>klkalsdk";
echo $text ."<p>";
$nytekst = preg_replace('/<include>(.+?)<\/include>/s', '" . include(\\"$1\\"); . "', $text);
echo $nytekst
?>.

Koden ses her:
http://www.madsen.gameplanet.dk/admin\test.php
Avatar billede jakobdo Ekspert
13. december 2004 - 22:36 #10
Problemet skyldes at include skrives ud som output, og ikke opfattes som den include den nu engang er, men hvordan man får den til det, det er spørgsmålet!
Avatar billede rasmus-madsen Nybegynder
13. december 2004 - 22:51 #11
ja.. og har været det hele tiden :D
Avatar billede rasmus-madsen Nybegynder
31. december 2004 - 19:32 #12
lukker ..
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