@Helen2901

Как в этом случае заменить атрибут языка чтоб просто ставилось другое значение?

Есть вот такой вот код. В нём обьявлены языки сайта.Нужно сделать чтоб вместо ua подставлялся UK в Hreflang . Cудя по функции там уже есть часть кода которая должна менять ua->uk но чё то не работает. В php не особо разбираюсь.

private static $siteLanguages = array('ru','en','tr','de','fr','it','es','pl','ua');

 static function getHreflang()
    {
        $sn=$_SERVER['SERVER_NAME'];
        $path=parse_url($_SERVER['REQUEST_URI'])['path'];
        $links='';
        // $links = "<link rel='alternate' href='https://".(strlen(explode('.',$sn)[0])==2 ? substr($sn,3) : $sn)."' hreflang='x-defaul' /> ";
        foreach(self::getList() as $lang){
            $prefix=$lang!='ru'?$lang.'.':'';
            $link = $prefix.(strlen(explode('.',$sn)[0])==2 ? substr($sn,3) : $sn);
            if($lang=='ua')
            {
                $lang='uk';
            }
            $links.=" <link rel='alternate' href='https://".$link.$path."' hreflang='".$lang."' /> ";
        }
        return $links;
    }
}


Просто заменить ua на uk не предлагайте. Там запутанная история с поддоменами и прочим,нужно просто чтоб ua меняло в hreflang
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 2
@galaxy
Подмена не в том месте, похоже.
foreach(self::getList() as $lang){
            if($lang=='ua')
            {
                $lang='uk';
            }
            $prefix=$lang!='ru'?$lang.'.':'';
            $link = $prefix.(strlen(explode('.',$sn)[0])==2 ? substr($sn,3) : $sn);
...
Ответ написан
@oxidmod
if($lang=='ua')
{
$lang='uk';
}

Нужно перенести перед $prefix=$lang!='ru'?$lang.'.':'';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы