NEVER EVER USE GLOBALS.Just in case u did not see that.
In the early days of PHP there was a very nasty security problem.
PHP used to automatically parse urls args into globals, both posts and gets.
http://www.perkiset.org/forum/index.php?action=post&topic=2357.0&num_replies=10So action would be stuck into global $action etc.
This was very convienient.
Problem was that stupid programmers would stick their thier security marking bits into a global.
So lets say for this board, if you where an admin user, then it would be set by global $admin_user
so someone could go along like this and go
http://www.perkiset.org/forum/index.php?action=post&topic=2357.0&num_replies=10&admin_user=1And then PHP would over write the global admin_user, and magically I get to be admin user.
Again it was not really a security problem, the documentation stated quite clearly that is what PHP did.
Then you end up with crippled languages like java and C# which do not allow the programmer to do anything.
Multiple inheritance is difficult to understand, therefore lets not have it in the language

Actually it is a good thing, big companies fall into that trap, so they go Java etc

.
Much easier to compete against them when the programmer has one hand tied behind his back

Not counting that with too many globals it clutters up the name space. you can get all sorts of evil nasty errors from that.
In this part you are not returning 3 values just 1
return $title;
return $link;
return $description
it reaches $title then function returns.
Either return using an array. Or if you want pass by reference. If you go the reference way your code will be slightly quicker.
Or in this case (I am not 100% up to snuff in PHP, but i would do something like this).
title,link and description are all related. So make a throw away class and return info with that. Or maybe use a dictionary (i think in PHP dictionaries and arrays are the same).