Проверьте строку для слов, начинающихся с символа @

Привет, спасибо, что нашли время, чтобы посмотреть на это.

Я работаю над системой комментариев и вместо использования вложенных комментариев просто хочу добавить метод @user для ответов.

Итак, допустим, например, я ввожу этот комментарий:

@moonwalker: Thanks again for your reply. 

Я ищу функцию, чтобы проверить, начинается ли слово с символа @, и после этого изменение слова в ссылку. Проблема, с которой я сталкиваюсь, заключается в том, что люди будут использовать такие вещи, как:

 @moonwalker: rest of the message @moonwalker, rest of the message @moonwalker rest of the message 

или даже использовать адрес электронной почты в своих комментариях.

Есть ли простой способ достичь этого? Возможно, Preg_match?

Заранее спасибо за вашу помощь.

Solutions Collecting From Web of "Проверьте строку для слов, начинающихся с символа @"

Попробуйте эту функцию:

 preg_replace('/(@\w+)/', '<a href=\'#\'>\1</a>', $comment); 

Вы можете использовать preg_match. Я не тестировал его, но, полагаю, это будет что-то вроде:

 preg_match("/^\@/", $message) 

Однако я настоятельно рекомендую вам пересмотреть протокол. Гораздо лучше добавить непечатаемые символы и более 1 байт. Например, заглушка типа «0x1 0x12 0x03 0x07».