Мне нужно заменить все слова, начинающиеся с @ в тексте на соответствующую ссылку на этот твиттер-аккаунт. Прямо сейчас я использую что-то вроде этого:
$tweet_text = preg_replace('/(@\w+)/', '<a href=\'#\'>\1</a>', $string);
Это работает, но ссылка никуда не ведет. Я решил использовать комбинацию strpos() и substr(), чтобы получить настоящую слово, а затем иметь возможность ссылаться на этот аккаунт в Твиттере, но мне было интересно, есть ли лучшее решение. Есть идеи?
Примеры:
До замены:
'Imperfection is the new perfection... RT @xHausOfCandy: @katyperry i think your bottom teeth and your wonk eye make you even more adorable.'
После замены:
'Imperfection is the new perfection... RT <a href=''#''>@xHausOfCandy</a>: <a href=''#''>@katyperry</a> i think your bottom teeth and your wonk eye make you even more adorable.'
Желаемый:
'Imperfection is the new perfection... RT <a href=''http://twitter.com/xHausOfCandy''>@xHausOfCandy</a>: <a href=''http://twitter.com/katyperry''>@katyperry</a> i think your bottom teeth and your wonk eye make you even more adorable.'
Надеюсь, теперь стало понятнее!