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"; }