Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
vinegredz

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

Recommended Posts

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites
{{$c_url = str_replace( $_SERVER['HTTP_HOST'], idn_to_utf8($_SERVER['HTTP_HOST']), $comment->item()->url() );}}
{$c_url}

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

extension=intl.so

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...