3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function dd($string) { return preg_replace('/([~]+)\[/e','str_repeat("~",strlen("$1")*2)."[";', $string); } print dd("a-b\n"); print dd("a~b\n"); print dd("a[b\n"); print dd("a~[b\n"); print dd("a~~[b\n");
Output for 7.0.0 - 7.2.0
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/n1onJ on line 5 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/n1onJ on line 5 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/n1onJ on line 5 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/n1onJ on line 5 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/n1onJ on line 5
Output for 5.5.24 - 5.6.28
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /in/n1onJ on line 5 a-b Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /in/n1onJ on line 5 a~b Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /in/n1onJ on line 5 a[b Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /in/n1onJ on line 5 a~~[b Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /in/n1onJ on line 5 a~~~~[b
Output for 5.3.21 - 5.4.45
a-b a~b a[b a~~[b a~~~~[b