alias urltok { .timer 1 0 unset %url.* %url.x = 1 while (%url.x <= $len($1)) { if ($right($mid($1,8,%url.x),1) == @) %url.1 = $mid($1,8,$calc(%url.x - 1)) inc %url.x } %url.x = 1 while (%url.x <= $len(%url.1)) { if ($right($left(%url.1,%url.x),1) == :) %url.3 = $left(%url.1,$calc(%url.x - 1)) if ($left($right(%url.1,%url.x),1) == :) %url.4 = $right(%url.1,$calc(%url.x - 1)) inc %url.x } %url.temp = $remove($1,$+(http://,%url.1,@)) %url.x = 1 while (%url.x <= $len(%url.temp)) { if ($right($left(%url.temp,%url.x),1) == /) { %url.2 = $left(%url.temp,$calc(%url.x - 1)) | break } inc %url.x } %url.x = 1 while (%url.x <= $len(%url.2)) { if ($right($left(%url.2,%url.x),1) == :) %url.5 = $left(%url.2,$calc(%url.x - 1)) if ($left($right(%url.2,%url.x),1) == :) %url.6 = $right(%url.2,$calc(%url.x - 1)) inc %url.x } %url.temp = $right($remove($1,$+(http://,%url.1,@,%url.2)),-1) %url.x = 0 %url.z = 1 while (%url.x <= $len(%url.temp)) { if ($right($left(%url.temp,$calc(%url.x - 1)),1) == $chr(63)) { %url.temp = $remove(%url.temp,%url.dir [ $+ [ %url.z ] ]) | break } %url.dir [ $+ [ %url.z ] ] = $left(%url.temp,$calc(%url.x - 1)) if ($right($left(%url.temp,$calc(%url.x - 1)),1) == /) { %url.temp = $remove(%url.temp,%url.dir [ $+ [ %url.z ] ]) | inc %url.z | %url.x = 1 } inc %url.x } %url.dir0 = $var(url.dir*,0) %url.temp = $remove(%url.temp,$chr(63)) %url.x = 0 %url.z = 1 while (%url.x <= $len(%url.temp)) { if ($right($left(%url.temp,$calc(%url.x - 1)),1) == $chr(35)) { %url.temp = $remove(%url.temp,%url.attr [ $+ [ %url.z ] ]) | break } %url.attr [ $+ [ %url.z ] ] = $left(%url.temp,$calc(%url.x - 1)) if ($right($left(%url.temp,$calc(%url.x - 1)),1) == &) { %url.temp = $remove(%url.temp,%url.attr [ $+ [ %url.z ] ]) | inc %url.z | %url.x = 1 } inc %url.x } %url.attr0 = $var(url.attr*,0) %url.x = 1 %url.z = 1 while (%url.x) { if ($mid(%url.attr [ $+ [ %url.z ] ],%url.x,1) == $chr(61)) { %url.var [ $+ [ %url.z ] ] = $mid(%url.attr [ $+ [ %url.z ] ],%url.x) %url.attr [ $+ [ %url.z ] ] = $remove(%url.attr [ $+ [ %url.z ] ],%url.var [ $+ [ %url.z ] ]) %url.x = 1 inc %url.z } if (%url.attr [ $+ [ %url.z ] ] == $null) break inc %url.x } %url.var0 = $var(url.var*,0) if ($prop == protocol) return $left($1,4) if ($prop == host) return %url.5 if ($prop == port) return %url.6 if ($prop == user) return %url.3 if ($prop == pass) return %url.4 if ($prop == dir) return $remove(%url.dir [ $+ [ $2 ] ],/) if ($prop == attr) return %url.attr [ $+ [ $2 ] ] if ($prop == var) return $remove(%url.var [ $+ [ $2 ] ],&,=) if ($prop == anchor) return %url.temp }