Привет, спасибо, что нашли время, чтобы посмотреть на это.
Я работаю над системой комментариев и вместо использования вложенных комментариев просто хочу добавить метод @user для ответов.
Итак, допустим, например, я ввожу этот комментарий:
@moonwalker: Thanks again for your reply.
Я ищу функцию, чтобы проверить, начинается ли слово с символа @, и после этого изменение слова в ссылку. Проблема, с которой я сталкиваюсь, заключается в том, что люди будут использовать такие вещи, как:
@moonwalker: rest of the message @moonwalker, rest of the message @moonwalker rest of the message
или даже использовать адрес электронной почты в своих комментариях.
Есть ли простой способ достичь этого? Возможно, Preg_match?
Заранее спасибо за вашу помощь.
Попробуйте эту функцию:
preg_replace('/(@\w+)/', '<a href=\'#\'>\1</a>', $comment);
Вы можете использовать preg_match. Я не тестировал его, но, полагаю, это будет что-то вроде:
preg_match("/^\@/", $message)
Однако я настоятельно рекомендую вам пересмотреть протокол. Гораздо лучше добавить непечатаемые символы и более 1 байт. Например, заглушка типа «0x1 0x12 0x03 0x07».