preg 匹配计数匹配

2022-08-30 21:35:17

我有一个 preg 匹配语句,它会检查匹配项,但我想知道如何计算匹配项。任何建议都值得赞赏。

$message='[tag] [tag]';
preg_match('/\[tag]\b/i',$message);

例如,此消息字符串的计数应导致 2 个匹配项


答案 1
$message='[tag] [tag]';
echo preg_match_all('/\\[tag\\](?>\\s|$)/i', $message, $matches);

给。注意不能使用,因为单词边界位于 之前,而不是之后。2\b]

请参阅preg_match_all


答案 2

preg_match已返回模式匹配的次数。

但是,这只会是0或1,因为它在第一场比赛后停止。您可以使用preg_match_all,因为它将检查整个字符串并返回匹配项的总数。


推荐