Php para substituir @username pelo link para a conta do twitter

Suponho que isso tenha algo a ver com regex, mas é uma arte própria - e preciso de ajuda.

Quando exibimos uma história, armazenamos todo o texto em uma variável - digamos $ story.

O que eu gostaria é de fazer um str_replace (acho que é disso que preciso) que diz algo como isto "Se o texto contiver @algo, transforme-o em um link como<a href="http://www.twitter.com/something">@something</a>- mas faça isso apenas se não houver nada antes do símbolo @ "(para excluir endereços de e-mail)

Além disso, precisaríamos parar o 'algo' se houver um espaço ou pontuação depois dele. para que @algo. não se transforma<a href="http://www.twitter.com/something.">@something.</a>

Alguma sugestão de como fazer isso funcionar?

questionAnswers(2)

yourAnswerToTheQuestion