I assume this is some to do with regex, but it\'s an art all it\'s own - and I need some help.
When we display a story, we store all the text in a varilable - let\'s
A positive lookbehind could do the trick:
preg_replace('/(?<=\s)@(.*?)/', '<a href="....com/$1">@$1</a>')
going off the top of my head. "If there's a @ which is preceded by something which is whitespace, then take whatever follows after the @ and do the html tag wrapping".
$input = preg_replace('/(^|\s)@([a-z0-9_]+)/i',
'$1<a href="http://www.twitter.com/$2">@$2</a>',
$input);
See it
It matches a @
which is preceded by whitespace or nothing ( when it is at the beginning).
It can also be shorted using positive lookbehind as:
$input = preg_replace('/(?<=^|\s)@([a-z0-9_]+)/i',
'<a href="http://www.twitter.com/$1">@$1</a>',
$input);
Which matches only the twitter name but only if there is space or nothing before that.