Use this code, to match the text to a specific regex, instead of replacing everything else:
preg_match('/<a.*?>(.+?)<\/a>/i', $link, $matches);
$matches[1]
will now contain the text you're looking for.
You need to assign the result:
$link = preg_replace('/<a.*?>/i', '', $link);
$link = preg_replace('/<\/a>/i', '', $link);
echo $link;
Fastest (probably - not tested):
$t = substr($link, strpos($link, '>') + 1, -4);
Clearest:
$t = strip_tags($link);
Basic strip tags w/ regex:
$t = preg_replace('/<[^>]*>/', '', $link);