Always remove last base segment when calculating relative urls.

This commit is contained in:
Dave Longley 2014-02-21 12:18:18 -05:00
parent 4233353828
commit b04f314afa

View file

@ -1,7 +1,7 @@
<?php <?php
/** /**
* PHP implementation of the JSON-LD API. * PHP implementation of the JSON-LD API.
* Version: 0.2.6 * Version: 0.2.7
* *
* @author Dave Longley * @author Dave Longley
* *
@ -707,12 +707,9 @@ function jsonld_remove_base($base, $iri) {
// use '../' for each non-matching base segment // use '../' for each non-matching base segment
$rval = ''; $rval = '';
if(count($base_segments) > 0) { if(count($base_segments) > 0) {
// don't count the last segment if it isn't a path (doesn't end in '/') // don't count the last segment (if it ends with '/' last path doesn't
// don't count empty first segment, it means base began with '/' // count and if it doesn't end with '/' it isn't a path)
if(substr($base['normalizedPath'], -1) !== '/' || array_pop($base_segments);
$base_segments[0] === '') {
array_pop($base_segments);
}
foreach($base_segments as $segment) { foreach($base_segments as $segment) {
$rval .= '../'; $rval .= '../';
} }