3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = "ukahfranklin@yahoo.com, abhishek.b@contecglobal.com, Ukah Franklin B , <<option1>>, <<<option2>>>, Okechukwu Second name\n Abuja Airport, abvairport@contecglobal.com,<<<this option2>>>\n accounts.abuja@contecglobal.com, Accounts Abuja \n dejiashiru@contecglobal.com, Adeji Ashiru "; $result=array(); $no=0; $var = explode("\n",$string); foreach($var as $v){ $w = preg_split('/[,;]/',$v); foreach($w as $l){ if(preg_match('/((?<option2>(<{3}.+>{3}))|(?<option1>(<{2}.+>{2}))|(?<email>([a-zA-Z0-9.!#$%&?+\/=?^_`{|}~-]+@{1}[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]{2,}){1,11}))|(?<name>([^<>]{2,10}[\w\W])+))/', $l, $matches)){ if(!empty($matches['option2'])){$result[$no]['option2']=$matches['option2'];} if(!empty($matches['option1'])){$result[$no]['option1']=$matches['option1'];} if(!empty($matches['email'])){$result[$no]['email']=$matches['email'];} if(!empty($matches['name'])){$result[$no]['name']=$matches['name'];} } } $no++; } print("<pre>".print_r($result,true)."</pre>"); exit();
Output for 5.6.38, 7.1.0 - 7.1.23, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
<pre>Array ( [0] => Array ( [email] => ukahfranklin@yahoo.com [name] => Okechukwu Second name [option1] => <<option1>> [option2] => <<<option2>>> ) [2] => Array ( [name] => abvairport@contecglobal.com [option2] => <<<this option2>>> ) [4] => Array ( [email] => accounts.abuja@contecglobal.com [name] => Accounts Abuja ) [6] => Array ( [email] => dejiashiru@contecglobal.com [name] => Adeji Ashiru ) ) </pre>
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 <pre>Array ( [0] => Array ( [email] => ukahfranklin@yahoo.com [name] => Okechukwu Second name [option1] => <<option1>> [option2] => <<<option2>>> ) [2] => Array ( [name] => abvairport@contecglobal.com [option2] => <<<this option2>>> ) [4] => Array ( [email] => accounts.abuja@contecglobal.com [name] => Accounts Abuja ) [6] => Array ( [email] => dejiashiru@contecglobal.com [name] => Adeji Ashiru ) ) </pre>

preferences:
152.51 ms | 403 KiB | 173 Q