I need to find the first occurance of a colon \':\' and take the complete string before that and append it to a link.
e.g.
username: @twitter nice site!
I have not tested the code, but it should work as is. Basically you need to capture after @twitter too.
$description = preg_replace("%([^:]+): @twitter (.+)%i", "@\\1: \\2", $description);