3v4l.org

run code in 500+ PHP versions simultaneously
<?php $pattern = "~(?|^(\w+)|\G(?!^)\h+(\w+))(?:\h+<([^<>\r\n]+)>$)?~"; $strings = [ "Some User Name ", "Some User Name <user.mail@address>" ]; foreach ($strings as $str) { preg_match_all($pattern, $str, $matches); print_r($matches[1]); print_r(array_filter($matches[2])); }
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.35, 8.4.1 - 8.4.26, 8.5.0 - 8.5.11
Array ( [0] => Some [1] => User [2] => Name ) Array ( ) Array ( [0] => Some [1] => User [2] => Name ) Array ( [2] => user.mail@address )

preferences:
27.67 ms | 1137 KiB | 7 Q