3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string='bla bla xxx bla *xxx bla bla **xxx bla bla ***xxx bla bla ****xxx'; $search='xxx'; $char='*'; preg_replace_callback( '/(' . preg_quote($char) . '*)' . $search . '/', function($matches) { print strlen($matches[1]); if(strlen($matches[1]) % 2 !== 0) { return $matches[1] . '*'; } }, $string ); print $string;

preferences:
48.59 ms | 402 KiB | 5 Q