Nick - this is really more about the program the receiver is using to read the email, than about how you do it in PHP.
Some programs automatically scan emails for valid URLs and when they see them, make them blue (hot). Thus you don't do anything special but just type the URL in the email.
Other programs will manage some basic HTML tags in text, but very bare-bones. For those try sending the link bounded by the HTML anchor tag, i.e.:
$str = "And if you click today, you can get the handle poodle fluffer free by clicking <A HREF=http://www.dogfluff.com/>I want a big fluffy dog!</A>"
Some email clients, like AOL, require that the <A> tag sit on the first character of the line, so you'd throw a "\n" newline before the "<A>" (and know that it changes the formatting of your email message, of course).
Then there's the whole world of HTML-formatted email, which it beyond the scope of this reply, but you can find more in the code library and elsewhere.
good luck!
best,
Eric Mueller