Returns the url of the element at $index or the breadcrumbs url if $index is ommited
@param int $index
@param string $separator
@return string
489460
public function getHref($index=null, $separator="/") {
		if (!isset($index)) {
			$index=sizeof($this->content);
		}
		if ($this->absolutePaths === true) {
			return $this->_hrefFunction($this->content[$index]);
		} else {
			return $this->root . implode($separator, array_slice(array_map(function ($e) {
				return $this->_hrefFunction($e);
			}, $this->content), $this->startIndex, $index + 1));
		}
	}
76052
public function element( $index = 0, $relative = true )
    {
        $pos = $index;
        if ( $relative )
            $pos += $this->Index;
        if ( isset( $this->URIArray[$pos] ) )
            return $this->URIArray[$pos];
        $ret = null;
        return $ret;
    }
154181
protected function getClasses(string $option, string $separator = ' '): string
    {
        return implode($separator, $this->getOption($option));
    }
180538
public function get(int $index): string
    {
        return $this->handle->lIndex($this->name, $index);
    }
228161
public static function urlize($text, $separator = '-', $excludeTwig = false)
    {
        $text = parent::unaccent($text);

        return self::postProcessText($text, $separator, $excludeTwig);
    }
550531
public function substringBeforeLast($separator)
    {
        if (($offset = $this->indexOfLast($separator)) === false) {
            return false;
        }

        return static::create(mb_substr($this->str, 0, $offset, $this->encoding), $this->encoding);
    }
651046
public static function urlize($text, $separator = '-')
    {
        $text = self::unaccent($text);

        return self::postProcessText($text, $separator);
    }
1363512
public function substringBeforeFirst($separator)
    {
        if (($offset = $this->indexOf($separator)) === false) {
            return false;
        }

        return static::create(mb_substr($this->str, 0, $offset, $this->encoding), $this->encoding);
    }
1075713
public static function slug(string $string, string $separator = '.'): string
    {
        // Make sure standard characters has been replaced to separator.
        $slug = str_replace(['-', '_', ' ', '.'], $separator, mb_strtolower($string));

        // Remove all "funny" characters.
        $slug = preg_replace('/[^a-z0-9' . preg_quote($separator) . ']/', '', $slug);

        return $slug;
    }
1026373
public function formatUrl(string $url, string $delimiter = 'wp-admin', string $fragment = 'cms')
    {
        /*
         * If there is already a "cms" fragment in the URI,
         * just return the URL.
         */
        if (strrpos($url, $fragment) !== false) {
            return $url;
        }

        /*
         * The network admin URL is missing the "cms" fragment.
         * Let's add it.
         */
        $fragments = explode($delimiter, $url);

        /*
         * Insert in the middle the cms fragment appended with the wp-admin delimiter.
         */
        array_splice($fragments, 1, 0, "{$fragment}/{$delimiter}");

        /*
         * Build the URL by reducing (concatenating) all fragments.
         * This appends each fragment to the previous one.
         */
        $url = array_reduce($fragments, function ($carry, $item) {
            return $carry.=$item;
        });

        return $url;
    }
822679
public function getDot($notation, $separator = '.')
    {
        Argument::i()
            //argument 1 must be a string
            ->test(1, 'string')
            //argument 2 must be a string
            ->test(2, 'string');

        $args = explode($separator, $notation);
        
        return call_user_func_array(array($this, 'get'), $args);
    }
517531
public function getSegment($index): ?string
    {
        $path = trim($this->path, '/');
        if (isset($path{0})) {
            $parts = explode('/', $path);
            if (array_key_exists($index, $parts)) {
                return $parts[$index];
            }
        }
        return null;
    }
98080
public static function getLastElementBreadCrumb(array $array, $separator = '/')
    {
        /*
         * No elements?
         * Nothing to do
         */
        if (empty($array)) {
            return null;
        }

        $keys = array_keys($array);
        $keysCount = count($keys);

        $lastKey = $keys[$keysCount - 1];
        $last = end($array);

        $breadCrumb = $lastKey;

        if (is_array($last)) {
            $crumb = self::getLastElementBreadCrumb($last, $separator);
        } else {
            $crumb = $last;
        }

        return $breadCrumb . $separator . $crumb;
    }
911348
public static function getByIndex(Int $get = 1, Int $index = 1) : String
    {
        $segArr = self::segmentArray();

        if( $get == 0 )
        {
            $get = 1;
        }

        $get -= 1;
        $uri  = '';

        $countSegArr = count($segArr);

        if( $index < 0 )
        {
            $index = $countSegArr + $index + 1;
        }

        if( $index > 0 )
        {
            $index = $get + $index;
        }

        if( abs($index) > $countSegArr )
        {
            $index = $countSegArr;
        }

        for( $i = $get; $i < $index; $i++ )
        {
            $uri .= $segArr[$i].'/';
        }

        return rtrim($uri, '/');
    }
149175
public function getPartByIndex($index)
    {
        if (!isset($this->_parts[$index])) {
            return null;
        }

        $part = $this->_parts[$index];
        $part->parent = $this;

        return $part;
    }
1292372
public function resolve(array $path, $separator = '/')
    {
        $fields = false;
        $parts = [];
        $current = $this['form/fields'];
        $result = [null, null, null];

        while (($field = current($path)) !== null) {
            if (!$fields && isset($current['fields'])) {
                if (!empty($current['array'])) {
                    $result = [$current, $parts, $path ? implode($separator, $path) : null];
                    // Skip item offset.
                    $parts[] = array_shift($path);
                }

                $current = $current['fields'];
                $fields = true;

            } elseif (isset($current[$field])) {
                $parts[] = array_shift($path);
                $current = $current[$field];
                $fields = false;

            } elseif (isset($current[$index = '.' . $field])) {
                $parts[] = array_shift($path);
                $current = $current[$index];
                $fields = false;

            } else {
                break;
            }
        }

        return $result;
    }
55189
public static function removeLast(string $string, string $separator): string
    {
        $string = explode($separator, $string);
        $string = Arr::removeLast($string);
        return implode($separator, $string);
    }