3v4l.org

run code in 500+ PHP versions simultaneously
<?php $re = '/^([^:\n\r]+):(.*(?:\R(?![^:\n\r]+:[^:\n\r]*$).*)*)/m'; $str = 'Name: John Doe Age: 23 Primary Language: English Description: This is a multiline description field that I want to capture Fri, 02 Sep 2022 14:46:45 -0500 Country: Canada'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); print_r($matches);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.7
Array ( [0] => Array ( [0] => Name: John Doe [1] => Name [2] => John Doe ) [1] => Array ( [0] => Age: 23 [1] => Age [2] => 23 ) [2] => Array ( [0] => Primary Language: English [1] => Primary Language [2] => English ) [3] => Array ( [0] => Description: This is a multiline description field that I want to capture Fri, 02 Sep 2022 14:46:45 -0500 [1] => Description [2] => This is a multiline description field that I want to capture Fri, 02 Sep 2022 14:46:45 -0500 ) [4] => Array ( [0] => Country: Canada [1] => Country [2] => Canada ) )

preferences:
101.38 ms | 1412 KiB | 5 Q