3v4l.org

run code in 300+ PHP versions simultaneously
<?php function f($s) { echo "'$s': "; foreach (parse_url($s) as $k=>$v) echo "$k($v) "; echo "\n"; } f(' http://example.com/'); f('http://example.com#foo=1;bar=2'); f('http://example.com#foo=1/bar=2'); f('tel:1234567'); f('tel:05000');
Output for 5.6.28 - 5.6.40, 7.0.13 - 7.0.33, 7.1.0 - 7.1.33, 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, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
' http://example.com/': path( http://example.com/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com) fragment(foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com) fragment(foo=1/bar=2) 'tel:1234567': scheme(tel) path(1234567) 'tel:05000': host(tel) port(5000)
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 ' http://example.com/': path( http://example.com/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com) fragment(foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com) fragment(foo=1/bar=2) 'tel:1234567': scheme(tel) path(1234567) 'tel:05000': host(tel) port(5000)
Output for 5.3.6 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.27, 7.0.0 - 7.0.12
' http://example.com/': path( http://example.com/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com) fragment(foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com#foo=1) path(/bar=2) 'tel:1234567': scheme(tel) path(1234567) 'tel:05000': host(tel) port(5000)
Output for 4.4.3 - 4.4.9, 5.1.3 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.5
' http://example.com/': host( http) path(//example.com/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com) fragment(foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com#foo=1) path(/bar=2) 'tel:1234567': scheme(tel) path(1234567) 'tel:05000': host(tel) port(5000)
Output for 4.4.0 - 4.4.2, 5.0.5, 5.1.0 - 5.1.2
' http://example.com/': host( http) path(//example.com/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com) fragment(foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com#foo=1) path(/bar=2) 'tel:1234567': path(tel:1234567) 'tel:05000': host(tel) port(5000)
Output for 4.3.11, 5.0.4
' http://example.com/': scheme( http) host(example.com) path(/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com) fragment(foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com#foo=1) path(/bar=2) 'tel:1234567': path(tel:1234567) 'tel:05000': host(tel) port(5000)
Output for 4.3.0 - 4.3.10, 5.0.0 - 5.0.3
' http://example.com/': scheme( http) host(example.com) path(/) 'http://example.com#foo=1;bar=2': scheme(http) host(example.com#foo=1;bar=2) 'http://example.com#foo=1/bar=2': scheme(http) host(example.com#foo=1) path(/bar=2) 'tel:1234567': path(tel:1234567) 'tel:05000': host(tel) port(5000)

preferences:
364.87 ms | 402 KiB | 462 Q