First, I would definitely store the data in the database. For many reason, including:
1) Ease of making changes
2) Being able to pull this data from anywhere
3) Data integrity (if the page gets lost/changed by accident)
4) Your needs may change in the future requiring more intensive usage/changes
So, that being said, my first response would be to pull the data WITHOUT style info from the database and pass it to a common formatting function or template.
db => php page => formatting/template => php page => user
Fallback if the formatting/template is not feasable depending on the intended layout complexity would be to do as above and store the marked up text in the db, with references to css classes, so that changing a single css file will still enable you to change the formatting of all pages without having to 'touch' each db entry.
Hope this helps!