Ändern des Titels einer Webseite

Wipeout

Erfahrenes Mitglied
Moin,

folgendes Problemchen habe ich.
Und zwar include ich über die Index.php meine scripte bzw seiten. Nun möchte ich das dem Benutzer angezeigt wird wo er grade ist. Also wenn er im Gästebuch ist soll in der Titelleiste stehen "Gästebuch".

Wie stelle ich sowas am besten an ohne das ich den titel per URL weiter gebe ?
Weil das ist bis jetzt das einzigste was bei mir geklappt hat.

Habs schon versucht mit einer Variable im Script selber, aber das ging leider nach hinten los.

Danke schonmal für eure Hilfe
 
Da wird dir nichts anderes übrig bleiben als eine If-Abfrage beim Titel zu machen und dabei zu überprüfen, auf welcher Seite sich der Benutzer gerade befindet.
 
Folgendes ist möglich:
PHP:
<?php

	ob_start('ob_documentTitle');

	function ob_documentTitle( $buffer )
	{
		global $title;
		$buffer = str_replace($buffer, '<title></title>', '<title>'.htmlspecialchars($title).'</title>');
		return $buffer;
	}

?>
<title></title>
<?php

	$title = 'foobar';

?>
 
Folgendes ist möglich:
PHP:
<?php

	ob_start('ob_documentTitle');

	function ob_documentTitle( $buffer )
	{
		global $title;
		$buffer = str_replace($buffer, '<title></title>', '<title>'.htmlspecialchars($title).'</title>');
		return $buffer;
	}

?>
<title></title>
<?php

	$title = 'foobar';

?>

Also erstmal danke für die Antwort.
Ich habe die Function nun mal in meine Funktionen.php übernommen und habe in die index.php am anfang dein ob_start eingetragen.
Habe dann in eins der scripte $title belegt und es passiert nichts wenn ich das script aufrufe es wird gar kein title mehr angezeigt :(
 
Zuletzt bearbeitet:
Die Reihenfolge der Parameter war falsch.
PHP:
function ob_documentTitle( $buffer )
{
	global $title;
	$buffer = str_replace('<title></title>', '<title>'.htmlspecialchars($title).'</title>', $buffer);
	return $buffer;
}
 
Klasse das funktioniert wenn ich die Function direkt in die index.php einbaue.
Aber wenn ich die Funktion auslagern will, klappts nicht. Warum ?
 
Der Include bzw. Require muss natürlich vor dem Start von [phpf]ob_start[/phpf] geschehen. Ansonsten schlägt das Registrieren der Callback Funktion fehl.
 
Es kann nur das verändert werden, was gepuffert wurde. Und das sind sämtliche Ausgaben nach dem Aufruf der ob_start()-Funktion. Du müsstest die Funktion also am besten vor jeglicher Ausgabe und spätestens vor der Ausgabe von „<title></title>“ aufrufen.
 
Zurück