A 'match_all' helper function based on dulao's answer. Someone might find it useful...<?phpfunction mb_ereg_match_all($pattern, $subject, &$matches, $options = '', $setOrder = false, $offset = 0) { if (!mb_ereg_search_init($subject, $pattern, $options)) { return false; } if ($offset != 0 && !mb_ereg_search_setpos($offset)) { return false; } $matches = []; if (!mb_ereg_search()) { return 0; } $regs = mb_ereg_search_getregs(); $count = 0; do { $count++; if ($setOrder) { foreach ($regs as $key => $val) { $matches[$key][] = $val; } } else { $matches[] = $regs; } $regs = mb_ereg_search_regs(); } while($regs); return $count;}?>