3v4l.org

run code in 300+ PHP versions simultaneously
<?php function urlProvider(): iterable { // without https://www yield 'youtube_link_1' => ['youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_2' => ['youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_3' => ['youtube.com/vi/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_4' => ['youtube.com/?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_5' => ['youtube.com/?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_6' => ['youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_7' => ['youtube.com/watch?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_8' => ['youtu.be/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_9' => ['youtube.com/embed/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_10' => ['youtube.com/shorts/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_11' => ['m.youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; // without https:// yield 'youtube_link_12' => ['www.youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_13' => ['www.youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_14' => ['www.youtube.com/vi/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_15' => ['www.youtube.com/?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_16' => ['www.youtube.com/?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_17' => ['www.youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_18' => ['www.youtube.com/watch?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_19' => ['www.youtu.be/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_20' => ['www.youtube.com/embed/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_21' => ['www.youtube.com/shorts/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; // http yield 'youtube_link_22' => ['http://youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_23' => ['http://youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_24' => ['http://youtube.com/vi/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_25' => ['http://www.youtube.com/?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_26' => ['http://www.youtube.com/?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_27' => ['http://www.youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_28' => ['http://www.youtube.com/watch?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_29' => ['http://www.youtu.be/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_30' => ['http://youtube.com/embed/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_31' => ['http://www.youtube.com/shorts/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_32' => ['http://m.youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; // https yield 'youtube_link_33' => ['https://youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_34' => ['https://youtube.com/v/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_35' => ['https://youtube.com/vi/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_36' => ['https://www.youtube.com/?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_37' => ['https://www.youtube.com/?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_38' => ['https://www.youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_39' => ['https://www.youtube.com/watch?vi=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_40' => ['https://www.youtu.be/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_41' => ['https://youtube.com/embed/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_42' => ['https://www.youtube.com/shorts/dE5jPNvLvOk', 'dE5jPNvLvOk', null]; yield 'youtube_link_43' => ['https://m.youtube.com/watch?v=dE5jPNvLvOk', 'dE5jPNvLvOk', null]; // with start time yield 'youtube_link_44' => ['https://youtube.com/v/dE5jPNvLvOk?t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_45' => ['https://youtube.com/v/dE5jPNvLvOk?t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_46' => ['https://youtube.com/vi/dE5jPNvLvOk?t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_47' => ['https://www.youtube.com/?v=dE5jPNvLvOk&t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_48' => ['https://www.youtube.com/?vi=dE5jPNvLvOk&t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_49' => ['https://www.youtube.com/watch?v=dE5jPNvLvOk&t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_50' => ['https://www.youtube.com/watch?vi=dE5jPNvLvOk&t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_51' => ['https://www.youtu.be/dE5jPNvLvOk?t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_52' => ['https://youtube.com/embed/dE5jPNvLvOk?t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_53' => ['https://www.youtube.com/shorts/dE5jPNvLvOk?t=30', 'dE5jPNvLvOk', 30]; yield 'youtube_link_54' => ['https://m.youtube.com/watch?v=dE5jPNvLvOk&t=30', 'dE5jPNvLvOk', 30]; // with feature yield 'youtube_link_55' => ['https://www.youtube.com/watch?dev=inprogress&v=dE5jPNvLvOk&feature=related', 'dE5jPNvLvOk', null]; yield 'youtube_link_56' => ['https://youtube.com/v/dE5jPNvLvOk?feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_57' => ['https://youtube.com/v/dE5jPNvLvOk?feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_58' => ['https://youtube.com/vi/dE5jPNvLvOk?feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_59' => ['https://www.youtube.com/?v=dE5jPNvLvOk&feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_60' => ['https://www.youtube.com/?vi=dE5jPNvLvOk&feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_61' => ['https://www.youtube.com/watch?v=dE5jPNvLvOk&feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_62' => ['https://www.youtube.com/watch?vi=dE5jPNvLvOk&feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_63' => ['https://www.youtu.be/dE5jPNvLvOk?feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_64' => ['https://youtube.com/embed/dE5jPNvLvOk?feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_65' => ['https://www.youtube.com/shorts/dE5jPNvLvOk?feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; yield 'youtube_link_66' => ['https://m.youtube.com/watch?v=dE5jPNvLvOk&feature=youtube_gdata_player', 'dE5jPNvLvOk', null]; // do not implemented yet - with #action=share yield 'youtube_link_67' => ['https://youtube.com/v/dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_68' => ['https://youtube.com/v/dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_69' => ['https://youtube.com/vi/dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_70' => ['https://www.youtube.com/?v=dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_71' => ['https://www.youtube.com/?vi=dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_72' => ['https://www.youtube.com/watch?v=dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_73' => ['https://www.youtube.com/watch?vi=dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_74' => ['https://www.youtu.be/dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_75' => ['https://youtube.com/embed/dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_76' => ['https://www.youtube.com/shorts/dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; yield 'youtube_link_77' => ['https://m.youtube.com/watch?v=dE5jPNvLvOk#action=share ', 'dE5jPNvLvOk', null]; } foreach (urlProvider() as $data) { unset($params); // prevent previous iteration data bleeding into current iteration $components = parse_url($data[0]); if (isset($components['query'])) { parse_str($components['query'], $params); } var_export( [ 'id' => $params['vi'] ?? $params['v'] ?? basename($components['path'] ?? '') ?: null, 't' => $params['t'] ?? null, ] ); echo "\n---\n"; }
Output for 8.1.32, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => '30', ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) --- array ( 'id' => 'dE5jPNvLvOk', 't' => NULL, ) ---

preferences:
56.18 ms | 426 KiB | 5 Q