3v4l.org

run code in 300+ PHP versions simultaneously
<?php $names = ['viktor', 'kate']; $message = 'I had :apple::apple::apple::apple: :apple:<@Viktor><@Kate>took:apple::apple: and later <@viktor> took again:apple:but not <@kate>'; $res = []; foreach ($names as $name) { preg_match_all("/(?:<@$name>(?:<@)?+|\G(?<!^))(?:(?!<@).)*?:apple:/i", $message, $matches); $res[$name] = count($matches[0]); } print_r($res);
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Array ( [viktor] => 3 [kate] => 2 )

preferences:
70.52 ms | 406 KiB | 5 Q