Che cosa si può fare è, si memorizza l'output in una variabile del tipo:
header.php
<?php
$output = '<html><title>%TITLE%</title><body>';
?>
PS: È necessario rimuovere tutti ec hos/prints etc in modo che tutte le possibili uscite siano memorizzate nella variabile $output
.
Questo può essere fatto easely, definendo $output = '';
all'inizio del file e poi trova/sostituisciecho
-$output .=
.
e quindi sostituire il %TITLE%
a quello che vi serve:
<?php
include("header.php");
$title = "TITLE";
$output = str_replace('%TITLE%', $title, $output);
echo $output;
?>
Un altro modo è usare javascript
nel codice, invece di:
<title><?php echo $title; ?></title>
mettere questo in là:
<script type="text/javascript">
document.title = "<?=$title;?>"
</script>
Oppure jQuery, se preferisci:
<script type="text/javascript">
$(document).ready(function() {
$(this).attr("title", "<?=$title;?>");
});
</script>
Il modo migliore per andare sarebbe quello di cambiare la vostra logica del programma in modo da poter definire il titolo in tempo prima di emettere il tag del titolo. Ci sono soluzioni alternative ma sono kludgy. –
Correlati: http://stackoverflow.com/questions/2825776/header-how-to-modify-title-of-the-page-on-the-fly – JNF
+1 Pekka. E per "kludgy" leggi "Complicated", "Relativamente alto costo di elaborazione", e "Pazzo gotcha per chi deve mantenere la cosa". Correggi la tua architettura, non combatterla. – Quentin