3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Function `parse_yturl()` from <http://stackoverflow.com/a/10524505/624466> /** * Check if the input string is a valid YouTube URL * and try to extract the YouTube Video ID from it. * * @author Stephan Schmitz <eyecatchup@gmail.com> * @param $url string The string that shall be checked. * @return mixed YouTube Video ID, or (boolean) false. */ function parse_yturl($url) { $pattern = '#^(?:https?://|//)?' # Optional URL scheme. Either http, or https, or protocol-relative. . '(?:www\.|m\.)?' # Optional www or m subdomain. . '(?:' # Group host alternatives: . 'youtu\.be/' # Either youtu.be, . '|youtube\.com/' # or youtube.com . '(?:' # Group path alternatives: . 'embed/' # Either /embed/, . '|v/' # or /v/, . '|watch\?v=' # or /watch?v=, . '|watch\?.+&v=' # or /watch?other_param&v= . ')' # End path alternatives. . ')' # End host alternatives. . '([\w-]{11})' # 11 characters (Length of Youtube video ids). . '(?![\w-])#'; # Rejects if overlong id. preg_match($pattern, $url, $matches); return (isset($matches[1])) ? $matches[1] : false; } // Tests for function `parse_yturl()` $testIds = [ 'l8qdouU9cYE', '_PqP1qHhsyM', '3G3_im4RyI8', 'uqU4Mkd-_gU', ]; $testUrls = [ // Without scheme and subdomain (Domain: youtu.be, Path: /) 'youtu.be/%s', // Without scheme, with subdomain (Domain: youtu.be, Path: /) 'www.youtu.be/%s', // With HTTP scheme, without subdomain (Domain: youtu.be, Path: /) 'http://youtu.be/%s', // With HTTP scheme and subdomain (Domain: youtu.be, Path: /) 'http://www.youtu.be/%s', // With HTTPS scheme, without subdomain (Domain: youtu.be, Path: /) 'https://youtu.be/%s', // With HTTPS scheme and subdomain (Domain: youtu.be, Path: /) 'https://www.youtu.be/%s', // Without scheme and subdomain (Domain: youtube.com, Path: /embed) 'youtube.com/embed/%s', 'youtube.com/embed/%s&other_params', // Without scheme, with subdomain (Domain: youtube.com, Path: /embed) 'www.youtube.com/embed/%s', 'www.youtube.com/embed/%s&other_params', // With HTTP scheme, without subdomain (Domain: youtube.com, Path: /embed) 'http://youtube.com/embed/%s', 'http://youtube.com/embed/%s&other_params', // With HTTP scheme and subdomain (Domain: youtube.com, Path: /embed) 'http://www.youtube.com/embed/%s', 'http://www.youtube.com/embed/%s&other_params', // With HTTPS scheme, without subdomain (Domain: youtube.com, Path: /embed) 'https://youtube.com/embed/%s', 'https://youtube.com/embed/%s&other_params', // With HTTPS scheme and subdomain (Domain: youtube.com, Path: /embed) 'https://www.youtube.com/embed/%s', 'https://www.youtube.com/embed/%s&other_params', // Without scheme and subdomain (Domain: youtube.com, Path: /v) 'youtube.com/v/%s', 'youtube.com/v/%s&other_params', // Without scheme, with subdomain (Domain: youtube.com, Path: /v) 'www.youtube.com/v/%s', 'www.youtube.com/v/%s&other_params', // With HTTP scheme, without subdomain (Domain: youtube.com, Path: /v) 'http://youtube.com/v/%s', 'http://youtube.com/v/%s&other_params', // With HTTP scheme and subdomain (Domain: youtube.com, Path: /v) 'http://www.youtube.com/v/%s', 'http://www.youtube.com/v/%s&other_params', // With HTTPS scheme, without subdomain (Domain: youtube.com, Path: /v) 'https://youtube.com/v/%s', 'https://youtube.com/v/%s&other_params', // With HTTPS scheme and subdomain (Domain: youtube.com, Path: /v) 'https://www.youtube.com/v/%s', 'https://www.youtube.com/v/%s&other_params', // Without scheme and subdomain (Domain: youtube.com, Path: /watch) 'youtube.com/watch?v=%s', 'youtube.com/watch?v=%s&other_params', 'youtube.com/watch?other_params&v=%s', 'youtube.com/watch?other_params&v=%s&more_params', // Without scheme, with subdomain (Domain: youtube.com, Path: /watch) 'www.youtube.com/watch?v=%s', 'www.youtube.com/watch?v=%s&other_params', 'www.youtube.com/watch?other_params&v=%s', 'www.youtube.com/watch?other_params&v=%s&more_params', // With HTTP scheme, without subdomain (Domain: youtube.com, Path: /watch) 'http://youtube.com/watch?v=%s', 'http://youtube.com/watch?v=%s&other_params', 'http://youtube.com/watch?other_params&v=%s', 'http://youtube.com/watch?other_params&v=%s&more_params', // With HTTP scheme and subdomain (Domain: youtube.com, Path: /watch) 'http://www.youtube.com/watch?v=%s', 'http://www.youtube.com/watch?v=%s&other_params', 'http://www.youtube.com/watch?other_params&v=%s', 'http://www.youtube.com/watch?other_params&v=%s&more_params', // With HTTPS scheme, without subdomain (Domain: youtube.com, Path: /watch) 'https://youtube.com/watch?v=%s', 'https://youtube.com/watch?v=%s&other_params', 'https://youtube.com/watch?other_params&v=%s', 'https://youtube.com/watch?other_params&v=%s&more_params', // With HTTPS scheme and subdomain (Domain: youtube.com, Path: /watch) 'https://www.youtube.com/watch?v=%s', 'https://www.youtube.com/watch?v=%s&other_params', 'https://www.youtube.com/watch?other_params&v=%s', 'https://www.youtube.com/watch?other_params&v=%s&more_params', ]; $results = []; foreach ($testIds as $id) { $results[$id] = []; foreach ($testUrls as $str) { $testString = sprintf($str, $id); array_push($results[$id], [ 'str' => $testString, 'id' => parse_yturl($testString), ]); } } $matches = 0; $errors = 0; foreach ($results as $key => $val) { $testId = $key; printf('# Testing strings for id "%s"' . PHP_EOL . PHP_EOL, $testId); foreach ($val as $res) { if ($res['id'] !== $testId) { $errors++; $result = 'no match'; } else { $matches++; $result = $res['id']; } printf(' Result: %s, String: %s' . PHP_EOL, $result, $res['str']); } print PHP_EOL; } printf('Done. %d assertation(s), %d error(s)' . PHP_EOL, $matches, $errors);
Output for git.master_jit, git.master, rfc.property-hooks
# Testing strings for id "l8qdouU9cYE" Result: l8qdouU9cYE, String: youtu.be/l8qdouU9cYE Result: l8qdouU9cYE, String: www.youtu.be/l8qdouU9cYE Result: l8qdouU9cYE, String: http://youtu.be/l8qdouU9cYE Result: l8qdouU9cYE, String: http://www.youtu.be/l8qdouU9cYE Result: l8qdouU9cYE, String: https://youtu.be/l8qdouU9cYE Result: l8qdouU9cYE, String: https://www.youtu.be/l8qdouU9cYE Result: l8qdouU9cYE, String: youtube.com/embed/l8qdouU9cYE Result: l8qdouU9cYE, String: youtube.com/embed/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: www.youtube.com/embed/l8qdouU9cYE Result: l8qdouU9cYE, String: www.youtube.com/embed/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: http://youtube.com/embed/l8qdouU9cYE Result: l8qdouU9cYE, String: http://youtube.com/embed/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: http://www.youtube.com/embed/l8qdouU9cYE Result: l8qdouU9cYE, String: http://www.youtube.com/embed/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: https://youtube.com/embed/l8qdouU9cYE Result: l8qdouU9cYE, String: https://youtube.com/embed/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: https://www.youtube.com/embed/l8qdouU9cYE Result: l8qdouU9cYE, String: https://www.youtube.com/embed/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: youtube.com/v/l8qdouU9cYE Result: l8qdouU9cYE, String: youtube.com/v/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: www.youtube.com/v/l8qdouU9cYE Result: l8qdouU9cYE, String: www.youtube.com/v/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: http://youtube.com/v/l8qdouU9cYE Result: l8qdouU9cYE, String: http://youtube.com/v/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: http://www.youtube.com/v/l8qdouU9cYE Result: l8qdouU9cYE, String: http://www.youtube.com/v/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: https://youtube.com/v/l8qdouU9cYE Result: l8qdouU9cYE, String: https://youtube.com/v/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: https://www.youtube.com/v/l8qdouU9cYE Result: l8qdouU9cYE, String: https://www.youtube.com/v/l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: youtube.com/watch?v=l8qdouU9cYE Result: l8qdouU9cYE, String: youtube.com/watch?v=l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: youtube.com/watch?other_params&v=l8qdouU9cYE Result: l8qdouU9cYE, String: youtube.com/watch?other_params&v=l8qdouU9cYE&more_params Result: l8qdouU9cYE, String: www.youtube.com/watch?v=l8qdouU9cYE Result: l8qdouU9cYE, String: www.youtube.com/watch?v=l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: www.youtube.com/watch?other_params&v=l8qdouU9cYE Result: l8qdouU9cYE, String: www.youtube.com/watch?other_params&v=l8qdouU9cYE&more_params Result: l8qdouU9cYE, String: http://youtube.com/watch?v=l8qdouU9cYE Result: l8qdouU9cYE, String: http://youtube.com/watch?v=l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: http://youtube.com/watch?other_params&v=l8qdouU9cYE Result: l8qdouU9cYE, String: http://youtube.com/watch?other_params&v=l8qdouU9cYE&more_params Result: l8qdouU9cYE, String: http://www.youtube.com/watch?v=l8qdouU9cYE Result: l8qdouU9cYE, String: http://www.youtube.com/watch?v=l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: http://www.youtube.com/watch?other_params&v=l8qdouU9cYE Result: l8qdouU9cYE, String: http://www.youtube.com/watch?other_params&v=l8qdouU9cYE&more_params Result: l8qdouU9cYE, String: https://youtube.com/watch?v=l8qdouU9cYE Result: l8qdouU9cYE, String: https://youtube.com/watch?v=l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: https://youtube.com/watch?other_params&v=l8qdouU9cYE Result: l8qdouU9cYE, String: https://youtube.com/watch?other_params&v=l8qdouU9cYE&more_params Result: l8qdouU9cYE, String: https://www.youtube.com/watch?v=l8qdouU9cYE Result: l8qdouU9cYE, String: https://www.youtube.com/watch?v=l8qdouU9cYE&other_params Result: l8qdouU9cYE, String: https://www.youtube.com/watch?other_params&v=l8qdouU9cYE Result: l8qdouU9cYE, String: https://www.youtube.com/watch?other_params&v=l8qdouU9cYE&more_params # Testing strings for id "_PqP1qHhsyM" Result: _PqP1qHhsyM, String: youtu.be/_PqP1qHhsyM Result: _PqP1qHhsyM, String: www.youtu.be/_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://youtu.be/_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://www.youtu.be/_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://youtu.be/_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://www.youtu.be/_PqP1qHhsyM Result: _PqP1qHhsyM, String: youtube.com/embed/_PqP1qHhsyM Result: _PqP1qHhsyM, String: youtube.com/embed/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: www.youtube.com/embed/_PqP1qHhsyM Result: _PqP1qHhsyM, String: www.youtube.com/embed/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: http://youtube.com/embed/_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://youtube.com/embed/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: http://www.youtube.com/embed/_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://www.youtube.com/embed/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: https://youtube.com/embed/_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://youtube.com/embed/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: https://www.youtube.com/embed/_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://www.youtube.com/embed/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: youtube.com/v/_PqP1qHhsyM Result: _PqP1qHhsyM, String: youtube.com/v/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: www.youtube.com/v/_PqP1qHhsyM Result: _PqP1qHhsyM, String: www.youtube.com/v/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: http://youtube.com/v/_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://youtube.com/v/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: http://www.youtube.com/v/_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://www.youtube.com/v/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: https://youtube.com/v/_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://youtube.com/v/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: https://www.youtube.com/v/_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://www.youtube.com/v/_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: youtube.com/watch?v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: youtube.com/watch?v=_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: youtube.com/watch?other_params&v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: youtube.com/watch?other_params&v=_PqP1qHhsyM&more_params Result: _PqP1qHhsyM, String: www.youtube.com/watch?v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: www.youtube.com/watch?v=_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: www.youtube.com/watch?other_params&v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: www.youtube.com/watch?other_params&v=_PqP1qHhsyM&more_params Result: _PqP1qHhsyM, String: http://youtube.com/watch?v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://youtube.com/watch?v=_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: http://youtube.com/watch?other_params&v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://youtube.com/watch?other_params&v=_PqP1qHhsyM&more_params Result: _PqP1qHhsyM, String: http://www.youtube.com/watch?v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://www.youtube.com/watch?v=_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: http://www.youtube.com/watch?other_params&v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: http://www.youtube.com/watch?other_params&v=_PqP1qHhsyM&more_params Result: _PqP1qHhsyM, String: https://youtube.com/watch?v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://youtube.com/watch?v=_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: https://youtube.com/watch?other_params&v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://youtube.com/watch?other_params&v=_PqP1qHhsyM&more_params Result: _PqP1qHhsyM, String: https://www.youtube.com/watch?v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://www.youtube.com/watch?v=_PqP1qHhsyM&other_params Result: _PqP1qHhsyM, String: https://www.youtube.com/watch?other_params&v=_PqP1qHhsyM Result: _PqP1qHhsyM, String: https://www.youtube.com/watch?other_params&v=_PqP1qHhsyM&more_params # Testing strings for id "3G3_im4RyI8" Result: 3G3_im4RyI8, String: youtu.be/3G3_im4RyI8 Result: 3G3_im4RyI8, String: www.youtu.be/3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://youtu.be/3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://www.youtu.be/3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://youtu.be/3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://www.youtu.be/3G3_im4RyI8 Result: 3G3_im4RyI8, String: youtube.com/embed/3G3_im4RyI8 Result: 3G3_im4RyI8, String: youtube.com/embed/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: www.youtube.com/embed/3G3_im4RyI8 Result: 3G3_im4RyI8, String: www.youtube.com/embed/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: http://youtube.com/embed/3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://youtube.com/embed/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: http://www.youtube.com/embed/3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://www.youtube.com/embed/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: https://youtube.com/embed/3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://youtube.com/embed/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: https://www.youtube.com/embed/3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://www.youtube.com/embed/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: youtube.com/v/3G3_im4RyI8 Result: 3G3_im4RyI8, String: youtube.com/v/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: www.youtube.com/v/3G3_im4RyI8 Result: 3G3_im4RyI8, String: www.youtube.com/v/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: http://youtube.com/v/3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://youtube.com/v/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: http://www.youtube.com/v/3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://www.youtube.com/v/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: https://youtube.com/v/3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://youtube.com/v/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: https://www.youtube.com/v/3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://www.youtube.com/v/3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: youtube.com/watch?v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: youtube.com/watch?v=3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: youtube.com/watch?other_params&v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: youtube.com/watch?other_params&v=3G3_im4RyI8&more_params Result: 3G3_im4RyI8, String: www.youtube.com/watch?v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: www.youtube.com/watch?v=3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: www.youtube.com/watch?other_params&v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: www.youtube.com/watch?other_params&v=3G3_im4RyI8&more_params Result: 3G3_im4RyI8, String: http://youtube.com/watch?v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://youtube.com/watch?v=3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: http://youtube.com/watch?other_params&v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://youtube.com/watch?other_params&v=3G3_im4RyI8&more_params Result: 3G3_im4RyI8, String: http://www.youtube.com/watch?v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://www.youtube.com/watch?v=3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: http://www.youtube.com/watch?other_params&v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: http://www.youtube.com/watch?other_params&v=3G3_im4RyI8&more_params Result: 3G3_im4RyI8, String: https://youtube.com/watch?v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://youtube.com/watch?v=3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: https://youtube.com/watch?other_params&v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://youtube.com/watch?other_params&v=3G3_im4RyI8&more_params Result: 3G3_im4RyI8, String: https://www.youtube.com/watch?v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://www.youtube.com/watch?v=3G3_im4RyI8&other_params Result: 3G3_im4RyI8, String: https://www.youtube.com/watch?other_params&v=3G3_im4RyI8 Result: 3G3_im4RyI8, String: https://www.youtube.com/watch?other_params&v=3G3_im4RyI8&more_params # Testing strings for id "uqU4Mkd-_gU" Result: uqU4Mkd-_gU, String: youtu.be/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: www.youtu.be/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://youtu.be/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://www.youtu.be/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://youtu.be/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://www.youtu.be/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: youtube.com/embed/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: youtube.com/embed/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: www.youtube.com/embed/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: www.youtube.com/embed/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: http://youtube.com/embed/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://youtube.com/embed/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: http://www.youtube.com/embed/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://www.youtube.com/embed/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: https://youtube.com/embed/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://youtube.com/embed/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: https://www.youtube.com/embed/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://www.youtube.com/embed/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: youtube.com/v/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: youtube.com/v/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: www.youtube.com/v/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: www.youtube.com/v/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: http://youtube.com/v/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://youtube.com/v/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: http://www.youtube.com/v/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://www.youtube.com/v/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: https://youtube.com/v/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://youtube.com/v/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: https://www.youtube.com/v/uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://www.youtube.com/v/uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: youtube.com/watch?v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: youtube.com/watch?v=uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: youtube.com/watch?other_params&v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: youtube.com/watch?other_params&v=uqU4Mkd-_gU&more_params Result: uqU4Mkd-_gU, String: www.youtube.com/watch?v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: www.youtube.com/watch?v=uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: www.youtube.com/watch?other_params&v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: www.youtube.com/watch?other_params&v=uqU4Mkd-_gU&more_params Result: uqU4Mkd-_gU, String: http://youtube.com/watch?v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://youtube.com/watch?v=uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: http://youtube.com/watch?other_params&v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://youtube.com/watch?other_params&v=uqU4Mkd-_gU&more_params Result: uqU4Mkd-_gU, String: http://www.youtube.com/watch?v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://www.youtube.com/watch?v=uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: http://www.youtube.com/watch?other_params&v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: http://www.youtube.com/watch?other_params&v=uqU4Mkd-_gU&more_params Result: uqU4Mkd-_gU, String: https://youtube.com/watch?v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://youtube.com/watch?v=uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: https://youtube.com/watch?other_params&v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://youtube.com/watch?other_params&v=uqU4Mkd-_gU&more_params Result: uqU4Mkd-_gU, String: https://www.youtube.com/watch?v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://www.youtube.com/watch?v=uqU4Mkd-_gU&other_params Result: uqU4Mkd-_gU, String: https://www.youtube.com/watch?other_params&v=uqU4Mkd-_gU Result: uqU4Mkd-_gU, String: https://www.youtube.com/watch?other_params&v=uqU4Mkd-_gU&more_params Done. 216 assertation(s), 0 error(s)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
45.86 ms | 437 KiB | 8 Q