//EDIT
Apologies, I posted this and only then saw the original thread creation date, after it was resurrected.
//EDIT
Are you using include files or a db to store your pages?
If using a db, you could have something like:
PAGE_DATA
id
page_title
page_keywords
page_description
(other head fields)
page_content
If using files, just place the head data at the top of the include file:
$title = '...';
$keywords = '...';
$description = '...';
(other head variables)
$page_content = '...';
Obviously you'd need to include this file above your DTD and echo out the variables in the appropriate place.
If you're using a CMS / online text-editor to create your page content, the $page_content variable could be the contents of that file.
$page_content = file_get_contents('content/welshrugby_2009.html');
There are quite a few ways to do this.
BTW
If you're creating a system like WordPress, the db solution could be useful coz you could have an url like
index.php?article=7 . Your
$_GET['article'] variable would then be used to search the db for the page. Otherwise, you may be left using a string as a parameter in the querystring for a particular filename:
index.php?article=welshrugby_2009 which would then include the welshrugby_2009.php file (and possibly get a welshrugby_2009.html through the file_get_contents as mentioned above, depending on how you're creating the content).
The beauty of your method is that you've just got 1 'template':
...(do php include based on $_GET variable)...
<html>
...dtd...
<head>
<title><?php echo $title;?></title>
...more of the same for other head elements...
</head>
<body>
...get common php header...
...get common navbar...
...get common sidebar(s)...
<?php echo $content;?>
...get common php footer...
</body>
</html>
Sorry if I'm stating the obvious and telling granny how to suck eggs.