php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
*.html in Tabelle einfügen ....


 
KeinePanik
19-10-2002, 03:08 
 
Also ich habe eine Tabelle und möchte, dass eine HTML-Datei in eine bestimmte Zelle der Tabelle eingefügt wird ....

Wie füge ich das jetzt ein !?!? Mit ''require'' oder ''include'' ... oder wie !?!?

Danke für Antworten ....

 
Berni
19-10-2002, 03:16 
 
mit include ist es bestimmt nicht verkehrt!

 
KeinePanik
19-10-2002, 03:54 
 
hmm ...

Aber wie füge ich das jetzt in die Tabelle ein !?!? ... Also an die Stelle, wo die HTML-Datei erscheinen soll, einfach mit ''include'' einfügen !?!?

 
Berni
19-10-2002, 03:58 
 
z.b.


<table border="1" width="100%">
<tr>
<td width="50%"><?include ("test1.php");?></td>
<td width="50%">&nbsp;</td>
</tr>
<tr>
<td width="50%">&nbsp;</td>
<td width="50%">&nbsp;</td>
</tr>
</table>

 
KeinePanik
19-10-2002, 04:05 
 
aha ... also doch so einfach .... ich habe es jetzt erstmal "trocken" gepostet ...

Ich probiers mal aus ... Danke !!!

 
TobiaZ
19-10-2002, 12:34 
 
Eigentlich probiert man ja erstmal, bevor man sich Hilfe holt.

Da du ja schon über include und require bescheid wusstest, täte auch ein Blick ins Manual net schaden.

 
KeinePanik
23-10-2002, 20:47 
 
TobiasZ:
(Eigentlich ist das auch nicht meine Art, aber ich war an einem anderen Rechner, so dass ich es nicht testen konnte ...)

Also die genannten Beispiele funzen irgendwie bei mir nicht ... Hier meine Codes:

layout.html:


<html>
<head>
<title>Hallo</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<td width="20%">&nbsp;</td>
<td width="60%">&nbsp;</td>
<td width="20%">&nbsp;</td>
</tr>
<tr>
<td width="20%">&nbsp;</td>
<td width="60%"><? include("#!#datei#!#"); ?></td>
<td width="20%">&nbsp;</td>
</tr>
</table>
</body>
</html>


test.html:


<html>
<head>
<title>Test.html</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<td width="100%" align="center">&nbsp;</td>
</tr>
<tr>
<td width="100%" align="center">Dieser Text soll in der unteren,
mittleren Zelle der Tabelle erscheinen (in layout.html)</td>
</tr>
</table>
</body>
</html>



index.php:


<?php

$layouthtml = fopen("layout.html", "r");
while(!feof($layouthtml))
{
$htp = $htp . trim(fgets($layouthtml, 10000)) . "\n";
}
fclose($layouthtml);

$datei = "test.html";
$htp = eregi_replace("#!#datei#!#", $datei, $htp);


// anzeigen
echo $htp;

?>


Wie gesagt, bei Aufruf der index.php funzt das irgendwie nicht. Was mach ich falsch bzw. kann
man das auch etwas einfacher machen ?

 
TobiaZ
23-10-2002, 21:00 
 
Wäre nicht schlecht, wenn du posten würdest, was er dir ausgibt.

Im Moment ersetzt er nur #!#datei#!# im String $htp. Aber du solltest das Include noch ausführen.

eval($htp);

Könnte dir helfen

 
KeinePanik
23-10-2002, 21:11 
 
Ausgeben tut er eben gar nix !!! Da bleibt die leere Zelle ...

Im Moment ersetzt er nur #!#datei#!# im String $htp. Aber du solltest das Include noch ausführen

Richtig ... das soll er ja auch ... Die Datei layout.html wird ja durch das


""bearbeitet"" ...

Erst lädt er die Datei layout.html in die Variable $htp , ersetzt dann #!#datei#!# durch $datei


$htp = eregi_replace("#!#datei#!#", $datei, $htp);
// je nachdem welche Datei dann angezeigt werden soll



und gibt $htp dann wieder aus :


<tr>
<td width="20%"> </td>
<td width="60%"><? include("#!#datei#!#{wird ersetzt durch $datei}"); ?></td>
// und eigentliche sollte das "include" hier zum ausführen reichen ...
<td width="20%"> </td>
</tr>



Edit:

Sorry ... "eval" überlesen ... damit könnte es gehen ... Danke

 
andik2000
23-10-2002, 21:15 
 
Geht auch enfacher:

Bau in Deiner test.html anstelle des include() einen Lommentar als Platzhalter ein, z.B. <!--Datei-->

Nun der PHP Code

$htp = implode("", file("layout.html"));
$datei = implode("", file("test.html"));

$htp = ereg_replace("<!--Datei-->", $datei, $htp);

echo $htp;

Du hast ja schon den Inhalt der test.html in der Variable $datei. Diesen musst Du dann mit ereg_replace() nur noch in der Layout.html an Stelle des Kommentars ersetzen und dann ausgeben.

Gruß, Andi

 
TobiaZ
23-10-2002, 21:23 
 
Das ist echt sinnvoller als eval.

 
KeinePanik
23-10-2002, 21:48 
 
yo andi ... genauso wollt ich es ...

Dank euch dreien :D


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:47 Uhr.