Я разрабатываю приложение 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);