<?php
$str = '# (811) (1485) [2756] {29} [555] {15}
# (811) (1476) {20} {15} (1485) [196] [2441]
# (911) (619) {19} (1476) [2765] [2752] {21}';
foreach (explode("\n", $str) as $str) {
$result = array_reduce(explode(" ", $str), function($acc, $curr) {
preg_match("/{(?!19|20)\d+}/", $curr) ? $acc['move'][] = $curr : $acc['valid'][] = $curr;
return $acc;
}, ['valid' => [], 'move' => []]);
echo implode(" ", array_merge($result['valid'], array_reverse($result['move']))) . PHP_EOL;
}
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- # (811) (1485) [2756] [555] {15} {29}
# (811) (1476) {20} (1485) [196] [2441] {15}
# (911) (619) {19} (1476) [2765] [2752] {21}
preferences:
116.96 ms | 407 KiB | 5 Q