3v4l.org

run code in 300+ PHP versions simultaneously
<?php $txt = <<<'EOD' {| test1 test2 test3 test4 test5 |} {| test6 test7 test8 test9 test10 |} EOD; echo preg_replace('~ (?: \G (?!\A) | \Q{|\E ) [^|\n]*+ (?s: (?! \Q|}\E | \n\n) . [^|\n]*)*+ \n \K \n+ ~x', '', $txt); echo PHP_EOL, '---', PHP_EOL; echo preg_replace_callback('~\Q{|\E .*? \Q|}\E~sx', function ($m) { return preg_replace('~\n+~', "\n", $m[0]); }, $txt);
Output for 7.1.25 - 7.1.30, 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.6
{| test1 test2 test3 test4 test5 |} {| test6 test7 test8 test9 test10 |} --- {| test1 test2 test3 test4 test5 |} {| test6 test7 test8 test9 test10 |}

preferences:
122.01 ms | 403 KiB | 169 Q