Avatar billede thenegotiator Nybegynder
13. december 2003 - 15:54 Der er 21 kommentarer og
1 løsning

Anden kommando end Include

Når jeg bruger kommandoen "Include", inkludere den en hel HTML side... Mit spørgsmål er så, om det er muligt, at bruge en anden kommando, så HTML koderne "HTML", "HEAD", og "Body" ikke kommer med??

Jeg skal nemlig bruge kommandoen, så jeg kan inkludere en HTML side, ind i en anden HTML side (i en ramme).

Kan nogen hjælpe...??
Avatar billede Slettet bruger
13. december 2003 - 16:01 #1
Det findes der ikke en specifik kommando til.

Du kan åbne filen som en tekstfil, og så nøjes med at udskrive det, der er indenfor <body>
Avatar billede thenegotiator Nybegynder
13. december 2003 - 16:03 #2
okay, det tænkte jeg nok.. men det var forsøget værd :D

Synes alligevel du skal have pointene... det er jo snart jul ;)
Avatar billede saudoo Nybegynder
13. december 2003 - 16:08 #3
nej det er der, som sandbox sagde, ikke... du bliver nød til at fjene tagsene eller lade være, for man kan sagtens include en side, med html head og body..
Avatar billede Slettet bruger
13. december 2003 - 16:10 #4
Så skal du også have lidt kode:

$tekst=file_get_contents($filnavn);
if (preg_match("/<body>(.*)<\/body>/i",$tekst,$match)) {
  $tekst=$match[1];
}

echo $tekst
Avatar billede thenegotiator Nybegynder
13. december 2003 - 16:10 #5
ja, jeg ved godt, at man kan inkludere en side, med HTML koderne, HTML & BODY, men det ser lidt fjoldet ud synes jeg, når det står i toppen, og midt på kildekoden.... så jeg tænkte på, at der fandes en kode, som der sorterede HTML koderne, HTML, HEAD og BODY fra...??
Avatar billede Slettet bruger
13. december 2003 - 16:11 #6
Den virker dog kun fra PHP version 4.3
Avatar billede saudoo Nybegynder
13. december 2003 - 16:12 #7
kan den kode fjerne <body> og </body> ?
Avatar billede Slettet bruger
13. december 2003 - 16:14 #8
saudoo: Ja.

Den leder efter <body> og </body> og returnerer det, der står imellem dem.
Avatar billede saudoo Nybegynder
13. december 2003 - 16:15 #9
sejt :P
Avatar billede Slettet bruger
13. december 2003 - 16:15 #10
Her er lige en udvidet, som ikke går kold over at der er attributter på <body>

$tekst=file_get_contents($filnavn);
if (preg_match("/<body[^>]*>(.*)<\/body>/i",$tekst,$match)) {
  $tekst=$match[1];
}

echo $tekst
Avatar billede thenegotiator Nybegynder
13. december 2003 - 16:20 #11
Sandbox =>
Når jeg skal erstatte $FILNAVN, skal filnavnet skrives mellem " eller et '-tegn???
Avatar billede thenegotiator Nybegynder
13. december 2003 - 16:27 #12
Har klaret det.. Skulle bruge " mellem... takker for hjælpen SandBox
Avatar billede Slettet bruger
13. december 2003 - 16:27 #13
Det bestemmer du selv ;-)

Hvis det indeholder en variabel, skal det mellem "", men hvis du bare skriver et filnavn, er det lige meget.
Avatar billede thenegotiator Nybegynder
14. december 2003 - 13:21 #14
Sandbox =>
Når jeg bruger den kode du kommer med, får jeg kun dette udskrevet:
"]*>(.*)<\/body>/i",$tekst,$match)) { $tekst=$match[1]; } echo $tekst ?>", istedet for den html-fil jeg vil have hentet istedet.. kan du sige mig, hvad fejlen kan være??

Jeg har skrevet den kode du er kommet med, i et HTML dokument, mellem "<?php", og "?>"... Burde dette være forkert???
Avatar billede b.b Nybegynder
14. december 2003 - 13:35 #15
Du kan sagten undlade html, body og title tag'sene i den fil du inkludere..

Eksempel :

----

index.php

<html>
<head><title>test</title></head>
<body>

<?php include("text.html"); ?>

</body>
</html>

----

text.html

davs med dig

----

koden vil se sådan ud  når du ser den fra en browser:

<html>
<head><title>test</title></head>
<body>

davs med dig

</body>
</html>
Avatar billede thenegotiator Nybegynder
14. december 2003 - 13:37 #16
Ja, men jeg kunne godt tænke mig at få den omtalte kode til at virke korrekt. Det er en lidt mere avanceret kode...  ;)
Avatar billede thenegotiator Nybegynder
14. december 2003 - 13:39 #17
Jeg bruger PHP v. 4.3.1, og efter hvad Sandbox skriver, burden denne her version også kunne bruges....
Avatar billede Slettet bruger
14. december 2003 - 22:33 #18
Hvis den fil, du har lagt koden i hedder adfg.html bliver den (normalt) ikke kørt som php, men serveren sender den rå kode direkte til browseren.

Omdøb filen med koden til adfg.php
Avatar billede thenegotiator Nybegynder
15. december 2003 - 18:58 #19
Sandbox=>
Nu har jeg 2 filer: index.php (hovedfilen), og test.php.

Når jeg skriver koden (i index.php), for at få koden mellem <body> og </body>, bliver hele kildekoden for test.php udskrevet..

Er det mulidt, at du skriver en komplet kildekode for mig?? Hvad der skal stå i index.php, og hvad der skal stå i test.php
Avatar billede thenegotiator Nybegynder
15. december 2003 - 19:01 #20
Dette er hvad jeg har skrevet i index.php:
<html>
<head>
<title>Min Titel</title>
</head>

<body>
<p>Prøve... :D</p>


<?php
$tekst=file_get_contents("test.php");
if (preg_match("/<body>(.*)<\/body>/i",$tekst,$match)) {
  $tekst=$match[1];
}

echo $tekst;
?>

</body>
</html>



Og Dette er hvad jeg har skrevet i test.php:
<html>
<body>
<p>Hello</p>
</body>
</html>


Dette er hvad jeg får ud af det, når jeg har hentet siden:
<html>
<head>
<title>Min Titel</title>
</head>

<body>
<p>Min Prøve... :D</p>


<html>
<body>
<p>Hello</p>
</body>
</html>
</body>
</html>
Avatar billede Slettet bruger
15. december 2003 - 21:11 #21
Jeg havde lige glemt at .* ikke ville matche på linieskift medmindre man giver den besked på det...

Denne her virker, og nu har jeg testet den.

$tekst=file_get_contents("test.php");
if (preg_match("/<body>(.*)<\/body>/is",$tekst,$match)) {
  $tekst=$match[1];
}
Avatar billede Slettet bruger
15. december 2003 - 21:13 #22
Den fil, du inkluderer behøver ikke hedde .php, den kan hedde hvad som helst. Det er bare filen, du skriver inkluderingskoden i, der skal hedde .php
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