Dokumenttitel nachträglich ändern

hab1cht

Erfahrenes Mitglied
Hallo Leute,
ich habe mir eine Seite gebaut (index.php), in die alle Unterseiten includet werden. So dass ich das Design nicht jedes mal in jeder Datei speichern muss. Allerdings wird ja am Anfang der index.php der HTML tag <title> erzeugt, wie kann ich den jetzt verändern, wenn ich z.B. das Gästebuch include? Kann man da irgendwie den Link verändern, also im <a> tag etwas hinzufügen oder so?

Vielen Dank im voraus.
Hoffe ihr versteht meine Frage :-)

MfG hab1cht
 
hab1cht hat gesagt.:
Hoffe ihr versteht meine Frage :-)
Nicht so ganz :D

Also du willst nur den Titel verändern?

Überprüfe welche Seite du gerade includierst und mach dir eine Variable für den Titel, die du je nach Seite einbindest..
 
Ich verstehe auch nicht ganz, aber ich kann mal sagen wie ich das mache.

Jede Seite bekommt einfach eine Varibale die $titel heist, und ins Titel Tag kommt dann echo $titel.

Aber ich glaube du meinst eher etwas mit Template Systemen, da kann ich wiederum nicht so viel zu sagen.;)
 
Du könntest die gesamte Ausgabe puffern und nachträglich verändern, etwa:
PHP:
<?php

	ob_start();
	header('Content-Type: text/html; charset=utf-8');

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title></title>
</head>
	
<body>
<?php

	include foobar;

?>
</body>
</html>
<?php

	echo str_replace('<title></title>', '<title>foobar</title>', ob_get_clean());

?>
 
Also ich habe eine Seite index.php mit dem Beispielcode:
PHP:
<html>
<head>
    <title>Titel</title>
</head>
<body>
<table>
<tr><td>
<a href="index.php?inc=seite1">Seite1</a>
</td></tr>
<tr><td>
<?php
switch( $_GET['inc']){
      case "seite1":
             include("seite1.php"); break;
      default:
             include("start.php");
}
?>
</td></tr>
</table>
</body>
</html>
Und wenn jetzt Seite1.php includet wird, will ich, dass "Titel" den ich am Anfang der Datei geschrieben habe, verändert wird in "Seite1".

@ Gumbo:
muss ich diesen Code in die index.php einbauen oder in seite1.php?
Habe es mit der index.php versucht, dann wird aber nur noch eine weise Seite angezeigt.
 
So habs jetzt hinbekommen,
allerdings hab ich
Code:
header('Content-Type: text/html; charset=utf-8');
gelöscht, da dadurch die Seite nicht mehr richtig angezeigt wurde, was sich nicht nur durch üöä und so deutlich machte, es war auch alles verschoben.

Vielen Dank

MfG hab1cht
 
Die tatsächlich angewandte Zeichenkodierung sollte schon zusammen mit dem Media-Typ des Dokuments angegeben werden, damit das Dokument richtig verarbeitet werden kann.
 
Wie kann ich in den Code eine Variable einfügen?
PHP:
<?php

    $titel = "Hallo";
    echo str_replace('<title></title>', '<title>'.'$titel'.'</title>', ob_get_clean());
?>
Irgendwie wir aber immer vor <title> abgebrochen, auch wenn ich eine Variable erstelle z.B.:
PHP:
$ganzer_titel = "<title>"."$titel"."</title>";
echo str_replace('<title></title>', '$ganzer_titel', ob_get_clean());
 
Hi,
weiß nicht was du meinst, vor dem titel, aber vielleicht das?^^

PHP:
<?php 

    $titel = "Hallo"; 
    echo str_replace('<title></title>', '<title>'.$titel.'</title>', ob_get_clean()); 
?>

oder:

PHP:
$titel = "Hallo"; 
$ganzer_titel = "<title>".$titel."</title>"; 
echo str_replace('<title></title>', $ganzer_titel, ob_get_clean());
 
Zuletzt bearbeitet:
Zurück