现在我有了代码:
$msgs = preg_replace('/(?<=^|\s)@([a-z0-9_]+)/i', '$1', $msg);
让我们说
$msg = "@Admin Hello my friends";
代码在上面工作,但我需要获得标记的名称!我需要得到“管理员”,所有被标记的人。我该怎么做?
答案 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)