- print_r: documentation ( source)
- parse_url: documentation ( source)
- gethostbynamel: documentation ( source)
<?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\n";
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;
}
?>