Navigation Menu

Skip to content

Commit

Permalink
[DomCrawler] Fixed handling of relative query strings as links
Browse files Browse the repository at this point in the history
  • Loading branch information
asm89 committed Jun 22, 2011
1 parent a4451b4 commit d49e306
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/Symfony/Component/DomCrawler/Link.php
Expand Up @@ -89,11 +89,23 @@ public function getUri()
return $this->currentUri;
}

// only an anchor or a query string
if (in_array($uri[0], array('?', '#'))) {
// only an anchor
if ('#' === $uri[0]) {
return $this->currentUri.$uri;
}

// only a query string
if ('?' === $uri[0] ) {
$baseUri = $this->currentUri;

// remove the query string from the current uri
if (false !== ($pos = strpos($this->currentUri, '?'))) {
$baseUri = substr($this->currentUri, 0, strpos($this->currentUri, '?'));
}

return $baseUri.$uri;
}

// absolute path
if ('/' === $uri[0]) {
return preg_replace('#^(.*?//[^/]+)(?:\/.*)?$#', '$1', $this->currentUri).$uri;
Expand Down

0 comments on commit d49e306

Please sign in to comment.