3v4l.org

run code in 300+ PHP versions simultaneously
<?php define('EFS_IFRAME', 1);define('EFS_URI', 2); $src = 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/156742959&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false'; $efs_contents = array( EFS_IFRAME => array('regex' => '#(?:<(div|span)[^>]*>[\s]*)*<iframe[\s]*([^>]+)>[\s]*<\/iframe[^>]*>(?:[\s]*<embed[^>]*>[^<]*<\/embed[^>]*>[\s]*)*(?:<\/(?:div|span)[^>]*>)*#iu', 'callback' => 'efs_iframe_callback' ) ); $efs_params = array( EFS_IFRAME => array( 'src' => '#src[\s]*=[\s]*[\'"]([^\'"]*)[\'"]#i', 'width' => '#width[\s]*=[\s]*[\'"]([^\'"]*)[\'"]#i', 'height' => '#height[\s]*=[\s]*[\'"]([^\'"]*)[\'"]#i', 'title' => '#title[\s]*=[\s]*[\'"]([^\'"]*)[\'"]#i', 'scrolling' => '#scrolling[\s]*=[\s]*[\'"]([^\'"]*)[\'"]#i', 'frameborder' => '#frameborder[\s]*=[\s]*[\'"]([^\'"]*)[\'"]#i' /* 'allowfullscreen' => '#allowfullscreen#i' */ ), EFS_URI => array( 'url' => '#url=([^&]*)#i', 'color' => '#color=([^&]*)#i', 'autoplay' => '#autoplay=([^&]*)#i', 'hide_related' => '#hide_related=([^&]*)#i', 'show_comments' => '#show_comments=([^&]*)#i', 'show_user' => '#show_user=([^&]*)#i', 'show_reposts' => '#show_reposts=([^&]*)#i' ) ); function efs_param_decode( $str, $context=EFS_IFRAME ) { global $efs_params; $getparams = $efs_params[$context]; $params = array(); foreach ($getparams as $key => $regex) { if(preg_match($regex, $str, $output)) $params[$key] = end($output); } return $params; } function efs_extendstr( $params, $add_common=true ) { $_extend = ""; foreach ($params as $paramkey => $paramvalue) { if ($paramkey != 'src') $_extend .= " $paramkey=\"$paramvalue\""; } if ($add_common) $_extend .= ' webkitallowfullscreen mozallowfullscreen allowfullscreen'; return $_extend;} $src = htmlspecialchars_decode(urldecode($src)); var_dump($src); $p = efs_param_decode( $src, EFS_URI ); $url = $p['url']; unset($p['url']); var_dump($p); $s = efs_extendstr( $p, false); var_dump($s);
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.5 - 7.2.33, 7.3.16 - 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.6
string(181) "https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/156742959&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false" array(5) { ["color"]=> string(6) "ff5500" ["hide_related"]=> string(5) "false" ["show_comments"]=> string(4) "true" ["show_user"]=> string(4) "true" ["show_reposts"]=> string(5) "false" } string(95) " color="ff5500" hide_related="false" show_comments="true" show_user="true" show_reposts="false""
Output for 5.0.0 - 5.0.5
Fatal error: Call to undefined function htmlspecialchars_decode() in /in/nYFXs on line 16
Process exited with code 255.
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: htmlspecialchars_decode() in /in/nYFXs on line 16
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
Fatal error: Call to undefined function: htmlspecialchars_decode() in /in/nYFXs on line 16
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: htmlspecialchars_decode() in /in/nYFXs on line 16

preferences:
267.34 ms | 401 KiB | 353 Q