3v4l.org

run code in 300+ PHP versions simultaneously
<?php $strings = [ "<p>We've been in business since 1998 and produced this logo design [2002] years ago.</p>", "<p>We've been in business since 1998 and produced this logo design [2017] years ago.</p>" ]; foreach ($strings as $string) { preg_match('/\[(\d{4})\] years/', $string, $matches); $years = date('Y') - $matches[1]; $result = sprintf("%s year%s", $years, $years === 1 ? "": "s" ); echo str_replace($matches[0], $result, $string) . PHP_EOL; }
Output for 5.6.38, 7.0.33, 7.1.0 - 7.1.25, 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
<p>We've been in business since 1998 and produced this logo design 16 years ago.</p> <p>We've been in business since 1998 and produced this logo design 1 year ago.</p>

preferences:
135.91 ms | 408 KiB | 5 Q