Ja, das Grundgerüst ist die "template.html" in die werden dann die "beschnittenen" Inhalte eingesetzt. Ich habe meine Suche jetzt ... hinbekommen... ob das so schön ist, weiß ich selbst noch nicht, jedenfalls wird es ziemlich voll in meiner Index.php, wenn ich das weiterhin so mache, die Sieht jetzt dann so aus.
<?php
// Liste der Seiten in einem Array. Den Werten werden Schlüssel zugewiesen.
$pages = array(
'kontakt' => 'kontakt.html',
'home' => 'home.html',
'animes' => 'animes.html',
'animes_geschaut' => 'animes_geschaut.html',
'aufenthalt_bilder' => 'aufenthalt_bilder.html',
'aufenthalt_bilder_monat1' => 'aufenthalt_bilder_monat1.html',
'auslandsaufenthalt' => 'auslandsaufenthalt.html',
'aufenthalt_urlaubsbilder2013' => 'aufenthalt_urlaubsbilder2013.html',
'aufenthalt_urlaubsbilder2014' => 'aufenthalt_urlaubsbilder2014.html',
'impressum' => 'impressum.html',
'ueber_mich' => 'ueber_mich.html',
'interessantes' => 'interessantes.html',
'japanisch' => 'japanisch.html',
'danke_an' => 'danke_an.html',
// 'japanisch_geschichte' => 'japanisch_geschichte.html',
'japanisch_grammatik' => 'japanisch_grammatik.html',
'japanisch_lernen' => 'japanisch_lernen.html',
'japanisch_apps' => 'japanisch_apps.html',
'japanisch_links' => 'japanisch_links.html',
'japanisch_schriftsystem' => 'japanisch_schriftsystem.html',
'in_japan' => 'in_japan.html',
'in_japan_monat1' => 'in_japan_monat1.html',
'aufenthalt_visum' => 'aufenthalt_visum.html',
'noch_in_deutschland' => 'noch_in_deutschland.html',
'noch_in_deutschland_vorbereitungen' => 'noch_in_deutschland_vorbereitungen.html'
);
$grammer_pages = array( //NEU dazu für die Suche!
'da' => 'da!desu.html',
'aru' => 'aru!arimasu.html'
);
// Läd einen default Content in die Variable $contens.
$contents = file_get_contents('./pages/home.html'); // default
$nav = file_get_contents('./pages/home.html');
$head = file_get_contents('./pages/home.html');
// Bei jeder Anfrage wir die if-Schleife überprüft.
if (@array_key_exists("p", $_GET) // Gibt es in der Superglobalen Variable $_GET einen Schlüssel p ?
&& @array_key_exists($_GET["p"], $pages) // Und gibt es in dem Schlüssel eine Seite aus dem Array $pages ?
) {
$contents = file_get_contents('./pages/'.$pages[$_GET["p"]]);
$nav = file_get_contents('./pages/'.$pages[$_GET["p"]]);
$head = file_get_contents('./pages/'.$pages[$_GET["p"]]);
} // Wenn beides "True", lade die gewünschte Seite in die Variable $contents etc.
else if (@array_key_exists("s", $_GET) //NEU dazu für die Suche
&& @array_key_exists($_GET["s"], $grammer_pages) //NEU dazu für die Suche
) {
$contents = file_get_contents('./pages/grammer_contents/'.$grammer_pages[$_GET["s"]]);
$nav = file_get_contents('./pages/grammer_contents/'.$grammer_pages[$_GET["s"]]);
$head = file_get_contents('./pages/grammer_contents/'.$grammer_pages[$_GET["s"]]);
}
else
{
$_GET = array("p" => "home");
}
$line = "<!-- HEADaf"; //Die Startposition in der HTML
$anf = strpos($head, $line); //Anfangsposition in dem jeweiligen String
$head = substr($head, $anf); //Vom Anfang wird nun ausgegben
$end = strpos($head, "<!-- HEADe -->"); //Endposition wird angegebn
$head = substr($head, 0, $end); //Dort hört es auf, auszugeben
$line2 = "<!-- NAVaf";
$anf2 = strpos($nav, $line2);
$nav = substr($nav, $anf2);
$end2 = strpos($nav, "<!-- NAVe -->");
$nav = substr($nav, 0, $end2);
$line3 = "<!-- MAINaf";
$anf3 = strpos($contents, $line3);
$contents = substr($contents, $anf3);
$end3 = strpos($contents, "<!-- MAINe -->");
$contents = substr($contents, 0, $end3);
$tmp = file_get_contents('./pages/template.html');
$news = file_get_contents('./pages/news.html');
// ersetzt die momentanen strings in $tmp mit den anderen strings und fügt sie wieder in $tmp ein.
$tmp = str_replace(
array('{$contents}', '{$news}', '{$nav}', '{$head}', '{$mtime}'),
array($contents, $news, $nav, $head, @date('d.m.Y, H:i:s', filemtime('./pages/'.$pages[$_GET['p']]))),
$tmp
);
include 'script_animes_geschaut_datenbank.php';
// sendet alles an den Browser.
echo $tmp;
?>
Alles anzeigen
Wirklich gefallen tut es mir nicht, aber es erfüllt seinen Zweck. Ich lads gleich mal auf meiner Website hoch. Du kannst es dann mit den Suchbegriffen "aru" und "da" dann mal testen, wenn du möchtest. Aber so richtig als Lösung finde ich das zu... schlecht, irgendwie. Wie gesagt, ich habe da irre Probleme, das in meine Logik, immer mein Template-System dazwischen funkt.
Edit: Ja, zwischen <!-- MAINaf --> und <!-- MAINe --> ist immer der Seiteninhalt. Zwischen <!-- NAVaf --> und <!-- NAVe --> ist immer die linke Navigation und zwischen <!-- HEADaf --> und <!-- HEADe --> ist immer der Head mit den <meta> Inhalten, ich weiß nicht ob ne Suchmaschine das so verarbeiten kann, aber von den <meta> hab ich bis jetzt noch keine Ahnung, da muss ich mich noch zu einlesen.