您好,非常感谢您花时间研究此问题。检查字符串中以字符开头的单词@
我正在使用评论系统,而不是使用嵌套注释,我只是想添加@user方法来回复。
因此,让我们说,例如我输入此评论:
@moonwalker: Thanks again for your reply.
我正在寻找一个函数来检查,如果一个字开头的字符@之后,改变成词的链接。我现在面临的问题是,人们会用之类的东西:
@moonwalker: rest of the message
@moonwalker, rest of the message
@moonwalker rest of the message
,甚至在他们的评论使用EN电子邮件地址。
有没有简单的方法来实现这一点? Preg_match也许?
在此先感谢您的帮助。
我想使用preg_match,并且找到实际上与数据库中的用户名匹配的最长匹配。为了防止来自电子邮件的干扰,请勿在@ – 2011-02-27 21:00:42
之前允许字符,我不知道PHP,但是如果它支持正则表达式,那么您可以像使用'^ @(w /)* $'那样使用RegEx。这将匹配以'@'开始的字符串,然后匹配任意数量的字符[AZ 0-9],然后您可以使用从您使用的任何函数返回的字符串来执行所需的操作,例如将其转换为链接。这有帮助吗? – 2011-02-27 21:02:44
查看一些[正则表达式工具](http://stackoverflow.com/questions/89718/is-there-anything-like-regexbuddy-in-the-open-source-world),可以帮助您测试或设计preg_match表达式。 – mario 2011-02-27 21:04:37