<?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