<?php
print "omg";
$parts = parse_url("http://9999%00?:@1.2.3.4/btc.txt#lol");
print "meh";
print_r($parts);
print "wah";
$hosts = gethostbynamel($parts['host']);
print_r($hosts);
#echo bin2hex($parts["user"]);
print "wtf";
print buildUrl($parts);
function buildUrl($parts) {
$url = '';
$url .= (!empty($parts['scheme']))
? $parts['scheme'] . '://'
: '';
$url .= (!empty($parts['user']))
? $parts['user']
: '';
$url .= (!empty($parts['pass']))
? ':' . $parts['pass']
: '';
//If we have a user or pass, make sure to add an "@"
$url .= (!empty($parts['user']) || !empty($parts['pass']))
? '@'
: '';
$url .= (!empty($parts['host']))
? $parts['host']
: '';
$url .= (!empty($parts['port']))
? ':' . $parts['port']
: '';
$url .= (!empty($parts['path']))
? $parts['path']
: '';
$url .= (!empty($parts['query']))
? '?' . $parts['query']
: '';
$url .= (!empty($parts['fragment']))
? '#' . $parts['fragment']
: '';
return $url;
}
?>
- 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.6
- omgmehArray
(
[scheme] => http
[host] => 9999%00
[query] => :@1.2.3.4/btc.txt
[fragment] => lol
)
wahwtfhttp://9999%00?:@1.2.3.4/btc.txt#lol
- Output for 5.5.19 - 5.5.38, 5.6.3 - 5.6.27, 7.0.0 - 7.0.12
- omgmehArray
(
[scheme] => http
[host] => 1.2.3.4
[user] => 9999%00?
[pass] =>
[path] => /btc.txt
[fragment] => lol
)
wahArray
(
[0] => 1.2.3.4
)
wtfhttp://9999%00?@1.2.3.4/btc.txt#lol
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 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.18, 5.6.0 - 5.6.2
- omgmehArray
(
[scheme] => http
[host] => 1.2.3.4
[user] => 9999%00?
[path] => /btc.txt
[fragment] => lol
)
wahArray
(
[0] => 1.2.3.4
)
wtfhttp://9999%00?@1.2.3.4/btc.txt#lol
preferences:
292.65 ms | 404 KiB | 460 Q