well, your question is a bit vague , but if you talk about separating content from display, the best way generally speaking is working with html templates, and using php to fill these templates with, say, mySQL content.
a good php template system : smarty >> http://smarty.php.net/