3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sepChmp = '`'; $dlmtTxt = '§'; $sepLigne = "\v"; $chaines = '§Laurent TOGIER§`§19\` Rue Bréa§`75006`PARIS'. $sepLigne . 'Laurent TOGIER`§\` Rue Bréa§`75006`PARIS'. $sepLigne . 'Laurent TOGIER`§19\`§`75006`PARIS'. $sepLigne . 'Laurent TOGIER`§\`§`75006`PARIS'. $sepLigne . 'Laurent TOGIER`§19\` Rue\` Bréa§`75006`PARIS '. $sepLigne . 'Laurent TOGIER`§\`\`§`75006`PARIS'. $sepLigne . '§il a dit §§aie§§ ` en \\criant§'; $lignes = []; $regexp = sprintf( '#(?<![%1$s\\\])%1$s(?!%1$s)(?<data>.*?)(?<![%1$s\\\])%1$s(?<sep>[%2$s%3$s]|$)|(?<data>[^%2$s%3$s]*)(?<sep>[%2$s%3$s]|$)#Jus', $dlmtTxt, $sepChmp, $sepLigne ); if( preg_match_all($regexp, $chaines, $matches, PREG_SET_ORDER) ) { $ligne = []; foreach($matches as $match) { $ligne[] = stripslashes(str_replace(["\\$dlmtTxt", "$dlmtTxt$dlmtTxt"], $dlmtTxt, $match['data'])); if($match['sep'] !== $sepChmp && count(array_filter($ligne))) { $lignes[] = $ligne; $ligne = []; } } } var_dump($lignes);
Output for 7.1.25 - 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
array(7) { [0]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(13) "19` Rue Bréa" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [1]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(11) "` Rue Bréa" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [2]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(3) "19`" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [3]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(1) "`" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [4]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(14) "19` Rue` Bréa" [2]=> string(5) "75006" [3]=> string(6) "PARIS " } [5]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(2) "``" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [6]=> array(1) { [0]=> string(28) "il a dit §aie§ ` en criant" } }
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 array(7) { [0]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(13) "19` Rue Bréa" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [1]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(11) "` Rue Bréa" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [2]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(3) "19`" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [3]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(1) "`" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [4]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(14) "19` Rue` Bréa" [2]=> string(5) "75006" [3]=> string(6) "PARIS " } [5]=> array(4) { [0]=> string(14) "Laurent TOGIER" [1]=> string(2) "``" [2]=> string(5) "75006" [3]=> string(5) "PARIS" } [6]=> array(1) { [0]=> string(28) "il a dit §aie§ ` en criant" } }

preferences:
184.67 ms | 404 KiB | 184 Q