コード例 #1
0
 function assertUrl($raw, $parts, $params = false)
 {
     if (!is_array($params)) {
         $params = array();
     }
     $url = new SimpleUrl($raw);
     $this->assertIdentical($url->getScheme(), $parts[0], "[{$raw}] scheme->%s");
     $this->assertIdentical($url->getUsername(), $parts[1], "[{$raw}] username->%s");
     $this->assertIdentical($url->getPassword(), $parts[2], "[{$raw}] password->%s");
     $this->assertIdentical($url->getHost(), $parts[3], "[{$raw}] host->%s");
     $this->assertIdentical($url->getPort(), $parts[4], "[{$raw}] port->%s");
     $this->assertIdentical($url->getPath(), $parts[5], "[{$raw}] path->%s");
     $this->assertIdentical($url->getTld(), $parts[6], "[{$raw}] tld->%s");
     $this->assertIdentical($url->getEncodedRequest(), $parts[7], "[{$raw}] encoded->%s");
     $query = new SimpleQueryString();
     foreach ($params as $key => $value) {
         $query->add($key, $value);
     }
     $this->assertIdentical($url->getRequest(), $query, "[{$raw}] request->%s");
     $this->assertIdentical($url->getFragment(), $parts[8], "[{$raw}] fragment->%s");
 }
コード例 #2
0
ファイル: url.php プロジェクト: BackupTheBerlios/limb-svn
 /**
  *    Breaks the request down into an object.
  *    @param string $raw           Raw request.
  *    @return SimpleQueryString    Parsed data.
  *    @access private
  */
 function _parseRequest($raw)
 {
     $request = new SimpleQueryString();
     foreach (split("&", $raw) as $pair) {
         if (preg_match('/(.*?)=(.*)/', $pair, $matches)) {
             $request->add($matches[1], urldecode($matches[2]));
         } elseif ($pair) {
             $request->add($pair, '');
         }
     }
     return $request;
 }