3v4l.org

run code in 300+ PHP versions simultaneously
<?php $message = " [xxxStudent.address_1xxx][xxxStudent.address_2xxx][xxxStudent.address_3xxx] [xxxStudent.townxxx] [xxxStudent.countyxxx] [xxxStudent.postcodexxx] [xxxStudent.country_iso_2xxx]"; preg_match_all('/\[xxx(\w+[\.+\w+]+)xxx\]/', $message, $tags, PREG_SET_ORDER); foreach ($tags as $tag) { $tag_parts = explode('.', $tag[1]); if (count($tag_parts) == 1) { $tag_model = null; $tag_field = $tag[1]; } else if(count($tag_parts) == 2) { $tag_model = $tag_parts[0]; $tag_field = $tag_parts[1]; } var_dump($tag_model); var_dump($tag_field); }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
string(7) "Student" string(9) "address_1" string(7) "Student" string(9) "address_2" string(7) "Student" string(9) "address_3" string(7) "Student" string(4) "town" string(7) "Student" string(6) "county" string(7) "Student" string(8) "postcode" string(7) "Student" string(13) "country_iso_2"

preferences:
321.4 ms | 406 KiB | 459 Q