tags
$blocks = preg_split( '/
/', $html );
$entries = [];
foreach ( $blocks as $block ) {
$block = trim( $block );
if ( empty( $block ) ) {
continue;
}
// Extract version number from ver. X.XXX
if ( preg_match( '/ver\.\s*([\d.]+)/', $block, $m ) ) {
$entries[] = [
'version_int' => (int) round( (float) $m[1] * 1000 ),
'html' => $block,
];
}
}
// If ?ver= parameter is provided, show only 5 versions back from that version
$ver = isset( $_GET['ver'] ) ? (int) round( (float) $_GET['ver'] * 1000 ) : 0;
if ( $ver > 0 ) {
$lowerBound = $ver - 5;
$filtered = [];
foreach ( $entries as $entry ) {
if ( $entry['version_int'] > $lowerBound ) {
$filtered[] = $entry;
}
}
$entries = $filtered;
}
// Output
foreach ( $entries as $entry ) {
echo $entry['html'] . "\n
\n";
}