I feel a bit silly for this one, but is there a more elegant way to format the day number suffix (st, th) other than by having to call the date() 3 times?
What I am trying to output in html:
<p>January, 1<sup>st</sup>, 2011</p>
//I am omitting the <p> tags:
echo date('M j',$timestamp)
. '<sup>' . date('S', $timestamp) . '</sup>'
. date(' Y', $timestamp);
You just have to escape characters that are interpreted by the date function.
echo date('M j<\sup>S</\sup> Y'); // < PHP 5.2.2 echo date('M j<\s\up>S</\s\up> Y'); // >= PHP 5.2.2
At PHP date documentation you have a list with all characters replaced by their special meaning.