php标签系统,只从@获取用户名

时间:2014-01-08 20:38:21

标签: php tags preg-replace message msg

现在我有了代码:

$msgs = preg_replace('/(?<=^|\s)@([a-z0-9_]+)/i', '$1', $msg);

让我们说

$msg = "@Admin Hello my friends";

代码在上面工作,但我需要获得标记的名称!我需要得到“管理员”,所有被标记的人。我该怎么做?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

$msgs = preg_replace('/(?<=^|\s)@(\w+).*$/', '$1', $msg);

if (preg_match('/(?<=^|\s)@(\w+)/', $msg, $match)) {
    $msgs = $match[1];
}

如果一行中可以有多个@,请使用preg_match_all

preg_match_all('/(?<=^|\s)@(\w+)/', $msg, $match)