Henryk Plötz: Endlosschleife bei 'refresh' (HTML) versus 'include' (PHP)

Beitrag lesen

Moin

ICH WILL ABER KEINE ENDLOSSCHLEIFE.

Warum will ich die Umleitung überhaupt: Ich möchte, wenn ein Nutzer eine Unterseite aufruft, dass auch die dazugehörige Navigation geladen wird. Ruft also jemand text.htm auf, dann soll über navi.php die Datei text.htm an einer bestimmten Stelle einer Tabelle in die Datei navi.php eingebaut werden (Navi.php enhält die Navigation.)

Woher soll die HTML-Datei auch wissen, ob sie umleiten soll oder nicht?

Entweder du machst aus der HTML eine PHP-Datei und fügst die Umleitung (Meta-Tag?) nur ein, wenn sie nicht über die bisherige PHP-Datei aufgerufen wurde (das kannst du einfach durch Übergabe eines URL-Paramaters feststellen) oder du nimmst dir die HTML-Datei im PHP-Skript vor und operierst die Weiterleitung heraus.
In etwa so:

<?php
ob_start();
include("html-datei");
$datei=ob_get_contents();
ob_end_clean();
echo preg_replace('/<meta http-equiv="refresh"[^>]+>/',"",$datei);
?>

So, oder so ähnlich. (Du kannst natürlich auch eine langweilige fopen(), fread(), fclose()-Kombo oder file() verwenden :)

--
Henryk Plötz
Grüße aus Berlin