3v4l.org

run code in 300+ PHP versions simultaneously
<?php $patternsArray = array(); $matchesArray = array(); $text = " Cassie, slipped on some glass and cut her ass!<br> 'Goshdamnit! Who left this damn mess out?' she cried.<br> 'Well, SHOOT, you should be more careful!' Mary laughed.<br> 'Hello! Why don't you clean up after yourself!' Cassie screamed.<br> 'Go to HELL!' Mary yelled back.<br> Then suddenly, blood started shooting everywhere.XXX "; $patternsArray[] = '/\basss?\b/i'; $patternsArray[] = '/damn/i'; $patternsArray[] = '/\bshoots?\b/i'; $patternsArray[] = '/\bhells?\b/i'; $patternsArray[] = '/XXX/i'; $cleanText = preg_replace_callback($patternsArray, function($matches) use (&$matchesArray) { list($word) = $matches; $matchesArray[] = $word; return str_repeat("*", strlen($word)); }, $text); var_dump($cleanText); var_dump($matchesArray);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
string(335) " Cassie, slipped on some glass and cut her ***!<br> 'Gosh****it! Who left this **** mess out?' she cried.<br> 'Well, *****, you should be more careful!' Mary laughed.<br> 'Hello! Why don't you clean up after yourself!' Cassie screamed.<br> 'Go to ****!' Mary yelled back.<br> Then suddenly, blood started shooting everywhere.*** " array(6) { [0]=> string(3) "ass" [1]=> string(4) "damn" [2]=> string(4) "damn" [3]=> string(5) "SHOOT" [4]=> string(4) "HELL" [5]=> string(3) "XXX" }
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 string(335) " Cassie, slipped on some glass and cut her ***!<br> 'Gosh****it! Who left this **** mess out?' she cried.<br> 'Well, *****, you should be more careful!' Mary laughed.<br> 'Hello! Why don't you clean up after yourself!' Cassie screamed.<br> 'Go to ****!' Mary yelled back.<br> Then suddenly, blood started shooting everywhere.*** " array(6) { [0]=> string(3) "ass" [1]=> string(4) "damn" [2]=> string(4) "damn" [3]=> string(5) "SHOOT" [4]=> string(4) "HELL" [5]=> string(3) "XXX" }

preferences:
149.08 ms | 403 KiB | 152 Q