检查字符串中以字符@开头的单词

时间:2011-02-27 20:56:09

标签: php

您好,感谢您抽出宝贵时间来研究这个问题。

我正在研究评论系统,而不是使用嵌套评论,我只想添加@user方法进行回复。

所以,比方说我输入这个评论:

@moonwalker: Thanks again for your reply.

我正在寻找一个函数来检查一个单词是否以字符@开头,然后将单词更改为链接。我面临的问题是人们会使用以下内容:

@moonwalker: rest of the message

@moonwalker, rest of the message

@moonwalker rest of the message

甚至在评论中使用电子邮件地址。

有没有简单的方法来实现这一目标? Preg_match也许?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以使用preg_match。我没有测试过,但我想它会是这样的:

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

但是,我强烈建议您重新考虑该协议。添加不可打印的字符和超过1个字节要好得多。例如,存根像“0x1 0x12 0x03 0x07”。

答案 1 :(得分:2)

尝试此功能:

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