So, hab jetzt nochmal versucht, selber ohne viele Kenntnisse was zusammenzubauen:
$text=preg_replace("#(http://)?(www.)?(meine-homepage.de)?([a-zA-Z0-9-./]+)#","<a href='http://$2$3$4'>$1$2$4</a>",$text);
$3 kann man dann ja einfach weg lassen, aber $1 und $2 müssten dann auch noch weg. Habe deshalb auch schon
(http://www.meine-homepage.de|www.meine-homepage.de|http://meine-homepage.de|meine-homepage.de)
aber so klappt es leider nicht, das www bzw. das http:// wird lieber als $1 oder $2 genommen!