Я разрабатываю приложение PHP, для которого требуется регулярное выражение, чтобы заменить упоминания @, такие как твиттер. Также регулярное выражение должно удовлетворять следующим требованиям.
@
и ничего до и после этого, то его не следует заменять. @
в письмах не следует заменять. Напр. sam@example.com
не следует заменять. @sam
или @example
должны быть заменены как <a href="http://twitter.com/sam">@sam</a>
и <a href="http://twitter.com/example">@example</a>
Пожалуйста помоги. Заранее спасибо.
Вау. Я нашел ответ, ребята.
$tweet = preg_replace('/(^|[^a-z0-9_])@([a-z0-9_]+)/i', '$1<a href="http://twitter.com/$2">@$2</a>', $tweet);
Спасибо за помощь ребята.
Как насчет чего-то вроде –
(?<!\w)@[\w]+
Поскольку твиттер может содержать до 15 символов, вы можете написать его так, чтобы избежать ошибок:
$tweet = preg_replace("/(^\w)@(\w{1,15})/i", "\\1<a ref=\"http://twitter.com/\\2\">@\\2</a>", $tweet);