For the time period formatting, see the user comments for an idea of how it's done
http://www.php.net/manual/en/function.time.php (use browser find in page feature, search for occurances of "minute")
You basically find the difference in seconds between a time, and the current time. You then find the largest(or smallest) interval that it fits into.
The browser should be able to display an html character entity like …
I bet your script doesn't actually output that character entity(check, view the html source).
Things get complicated once you want to start displaying non ascii characters. There is no simple way. Aggregating data from other websites into your own complicates things. If it's important that you get it right, you really should consider reading up on character sets, character encodings, and unicode. It will take some effort.
If you're looking for a quick fix that only works sometimes, pass the string through htmlentities().