3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<HTML This is <h2>H2 nummer 1</h2> and this is This is <h2>H2 nummer 2</h2> This is <h2>H2 nummer 3</h2> HTML; function replace_text_wps($content) { return preg_replace_callback('#<h2>(.*?)</h2>#', function ($m) { static $h2Count = 0; return sprintf('<h2 id="%s">%s</h2>', ++$h2Count, $m[1]); }, $content); } echo replace_text_wps($html);
Output for 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
This is <h2 id="1">H2 nummer 1</h2> and this is This is <h2 id="2">H2 nummer 2</h2> This is <h2 id="3">H2 nummer 3</h2>

preferences:
79.46 ms | 407 KiB | 5 Q