3v4l.org

run code in 300+ PHP versions simultaneously
<?php // $contents = file_get_contents($file); $contents = "abc test1 for test1: xxx test1> test3> x/y/z: x1 / y2 / z3 abc test2 for test2: xxx test2> test3> x/y/z: x1 / y2 / z3 abc test3 for test3: xxx test3> x/y/z: x1 / y2 / z3"; if (!preg_match_all('~^([^:>]+):\s(\S+)[^:]+:\s(\S+)\s/\s(\S+)\s/\s(\S+)\s*$~m', $contents, $matches, PREG_SET_ORDER)) { echo "Pattern Failed"; } else { echo "<table>"; foreach ($matches as $i => $data) { echo "\n\t<tr>"; echo "\n\t\t<td>Test case " , ++$i , "</td>"; echo "\n\t\t<td>{$data[1]}</td>"; echo "\n\t\t<td>{$data[3]}</td>"; echo "\n\t\t<td>{$data[4]}</td>"; echo "\n\t\t<td>{$data[5]}</td>"; echo "\n\t\t<td>{$data[2]}</td>"; echo "\n\t</tr>"; } echo "\n</table>"; } // Test case 1 | abc test1 for test1 | x1 | y2 | z3 | xxx // Test case 2 | abc test2 for test2 | x1 | y2 | z3 | xxx // Test case 3 | abc test3 for test3 | x1 | y2 | z3 | xxx
Output for 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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
<table> <tr> <td>Test case 1</td> <td>abc test1 for test1</td> <td>x1</td> <td>y2</td> <td>z3</td> <td>xxx</td> </tr> <tr> <td>Test case 2</td> <td>abc test2 for test2</td> <td>x1</td> <td>y2</td> <td>z3</td> <td>xxx</td> </tr> <tr> <td>Test case 3</td> <td>abc test3 for test3</td> <td>x1</td> <td>y2</td> <td>z3</td> <td>xxx</td> </tr> </table>
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 <table> <tr> <td>Test case 1</td> <td>abc test1 for test1</td> <td>x1</td> <td>y2</td> <td>z3</td> <td>xxx</td> </tr> <tr> <td>Test case 2</td> <td>abc test2 for test2</td> <td>x1</td> <td>y2</td> <td>z3</td> <td>xxx</td> </tr> <tr> <td>Test case 3</td> <td>abc test3 for test3</td> <td>x1</td> <td>y2</td> <td>z3</td> <td>xxx</td> </tr> </table>

preferences:
260.62 ms | 402 KiB | 287 Q