eZ\Publish\Core\Repository\URLAliasService::matchPath PHP Method

matchPath() protected method

Returns matched path string (possibly case corrected) and array of corresponding language codes or false if path could not be matched.
protected matchPath ( eZ\Publish\SPI\Persistence\Content\URLAlias $spiUrlAlias, string $path, string $languageCode ) : array
$spiUrlAlias eZ\Publish\SPI\Persistence\Content\URLAlias
$path string
$languageCode string
return array
    protected function matchPath(SPIURLAlias $spiUrlAlias, $path, $languageCode)
    {
        $matchedPathElements = array();
        $matchedPathLanguageCodes = array();
        $pathElements = explode('/', $path);
        $pathLevels = count($spiUrlAlias->pathData);
        foreach ($pathElements as $level => $pathElement) {
            if ($level === $pathLevels - 1) {
                $matchedLanguageCode = $this->selectAliasLanguageCode($spiUrlAlias, $languageCode, $this->settings['showAllTranslations'], $this->settings['prioritizedLanguageList']);
            } else {
                $matchedLanguageCode = $this->matchLanguageCode($spiUrlAlias->pathData[$level], $pathElement);
            }
            if ($matchedLanguageCode === false) {
                return array(false, false);
            }
            $matchedPathLanguageCodes[] = $matchedLanguageCode;
            $matchedPathElements[] = $spiUrlAlias->pathData[$level]['translations'][$matchedLanguageCode];
        }
        return array(implode('/', $matchedPathElements), $matchedPathLanguageCodes);
    }