Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
vinegredz

Как декодировать кириллический домен?

Рекомендованные сообщения

Здравствуйте!

 

У меня кириллический домен. Используй в разных частях шаблона вот такой код:\

 

{$comment->item()->url()}

 

Проблема в том, что в итоге на сайте часть URL декодирована и читабельна для человека, а основная часть домена (до первого /) в кодировке punycode.

 

Вопрос, как модифицировать этот код, чтобы URL был читабельным целиком?

Поделиться сообщением


Ссылка на сообщение
{{$c_url = str_replace( $_SERVER['HTTP_HOST'], idn_to_utf8($_SERVER['HTTP_HOST']), $comment->item()->url() );}}
{$c_url}

Поделиться сообщением


Ссылка на сообщение

Страницы рендерится с ошибкой:

 

Error: Call to undefined function IPS\Theme\idn_to_utf8() (0)

Поделиться сообщением


Ссылка на сообщение

Нужно подключить расширение php-intl. Как именно, зависит от операционной системы и версии PHP. В линуксах обычно достаточно добавить в php.ini строку:

extension=intl.so

Либо установить пакет расширения из репозитория. После любого из вариантов изменения конфигурации PHP необходимо перезапустить вебсервер.

Поделиться сообщением


Ссылка на сообщение

Зачем его декодировать? В исходном коде ссылке правильно должен быть punycode.

 

Способ из серий топор:

{str_replace( $_SERVER['HTTP_HOST'], 'домен', $comment->item()->url() )}

Поделиться сообщением


Ссылка на сообщение
{str_replace( $_SERVER['HTTP_HOST'], 'домен', $comment->item()->url()}
Закрывающей круглой скобки не хватает.

Поделиться сообщением


Ссылка на сообщение

Исправил. Писал код с телефона.

Поделиться сообщением


Ссылка на сообщение

Спасибо за попытки помочь, но с этим кодом:

 

{str_replace( $_SERVER['HTTP_HOST'], 'domen.ru', $comment->item()->url())}

 

Шаблон даже не сохраняется, говорит ошибка в коде. А если бы изначальный код:

 

{$comment->item()->url()}

 

Работал корректно, то я бы и не пытался решить проблему. Пробовал в conf_global.php править домен на кириллический, но тогда вообще ничего не работает.

Поделиться сообщением


Ссылка на сообщение

{str_replace( $_SERVER['HTTP_HOST'], 'domen.ru', $comment->item()->url())}

{expression="str_replace( $_SERVER['HTTP_HOST'], 'domen.ru', $comment->item()->url())"}

Поделиться сообщением


Ссылка на сообщение

Спасибо, это работает!

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...