3v4l.org

run code in 300+ PHP versions simultaneously
<?php $ldq = preg_quote('{', '~'); $rdq = preg_quote('}', '~'); $search = "~{$ldq}\*(.*?)\*{$rdq}|{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}|{$ldq}\s*php\s*{$rdq}(.*?){$ldq}\s*/php\s*{$rdq}~s"; $source_content = '{literal}<script type="javascript">alert(\'foo\');</script>{/literal}'; $source_content = preg_replace($search.'e', "'" . $ldq . 'php' . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'" . $rdq . "'" , $source_content); echo $source_content;
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/l6Yah on line 10
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 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/l6Yah on line 10
Output for 7.0.19 - 7.0.20, 7.1.5 - 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.28
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/l6Yah on line 15
Output for 7.0.0 - 7.0.18, 7.1.0 - 7.1.4
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/l6Yah on line 14

preferences:
161.3 ms | 401 KiB | 188 Q