3v4l.org

run code in 300+ PHP versions simultaneously
<?php $bbCode = <<<BBCODE Here is some text <youtube=http://www.youtube.com/watch?v=VIDEO_ID&feature=channel> and some more text BBCODE; echo preg_replace_callback( '~<youtube=([^>]+)>~', function ($m) { parse_str(parse_url($m[1], PHP_URL_QUERY), $queryStringArray); $videoId = $queryStringArray['v'] ?? null; if (!$videoId) { return $m[0]; // do not replace bbcode because could not isolate the video id } return sprintf( '<object width="400" height="245"> <param name="movie" value="http://www.youtube-nocookie.com/v/%1$s&hl=en&fs=1&rel=0&showinfo=0"></param> <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param> <embed src="http://www.youtube-nocookie.com/v/%1$s&hl=en&fs=1&rel=0&showinfo=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="245"></embed> </object>', $videoId ); }, $bbCode );

preferences:
24.19 ms | 407 KiB | 5 Q