Url Parser
Posted by HellRaz0r
Tuesday, July 17, 2007
Description: Snippet to parse urls, please report bugs.
;$purl(<link>,[Num])[.prop])
;<> means Required,[] means Optional.
;[proto:\/\/][user[:pass]@]host[:port][\/path]
;Expression made by Saturn@Quakenet, i'll make my own soon :)
alias purl {
var %exp = /^(?:([a-z.+-]+)://|())(?:([^@:]+)(?::(.*?)|())@|()())([a-z0-9.-]+)(?::(\d+)|())(/.*)?$/i
if ($regex($1,%exp)) {
if ($prop == proto) return $regml(1)
elseif ($prop == user) return $regml(2)
elseif ($prop == pass) return $regml(3)
elseif ($prop == host) return $regml(4)
elseif ($prop == port) return $iif($regml(5) != $null,$ifmatch,$urlport(%proto))
elseif ($prop == path) return $iif($regml(6) != $null,$ifmatch,/)
return $true
}
return $false
}
alias -l urlport {
return $iif($findtok(http ftp telnet nntp https gopher,http,32),$gettok(80 21 23 119 443 70,$ifmatch,32),0)
}