Как декодировать кириллический домен? - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

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

#1 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 175
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 15 Декабрь 2018 - 21:17

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

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

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


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

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

#2 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 671
  • Регистрация: 15-Октябрь 11
  • Репутация: 195
  • Откуда:Россия, Тула
  • IPB version:I have no IPB
 

Отправлено 16 Декабрь 2018 - 05:33

{{$c_url = str_replace( $_SERVER['HTTP_HOST'], idn_to_utf8($_SERVER['HTTP_HOST']), $comment->item()->url() );}}
{$c_url}

0

#3 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 175
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 16 Декабрь 2018 - 17:36

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

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

#4 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 671
  • Регистрация: 15-Октябрь 11
  • Репутация: 195
  • Откуда:Россия, Тула
  • IPB version:I have no IPB
 

Отправлено 16 Декабрь 2018 - 20:20

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

#5 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 259
  • Регистрация: 20-Март 09
  • Репутация: 2 485
  • IPB version:3.1.x
 

Отправлено 16 Декабрь 2018 - 23:18

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

Способ из серий топор:
{str_replace( $_SERVER['HTTP_HOST'], 'домен', $comment->item()->url() )}
0

#6 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 671
  • Регистрация: 15-Октябрь 11
  • Репутация: 195
  • Откуда:Россия, Тула
  • IPB version:I have no IPB
 

Отправлено 17 Декабрь 2018 - 00:25

Цитата

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

#7 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 259
  • Регистрация: 20-Март 09
  • Репутация: 2 485
  • IPB version:3.1.x
 

Отправлено 17 Декабрь 2018 - 01:00

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

#8 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 175
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 17 Декабрь 2018 - 08:24

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

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

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

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

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

#9 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 651
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 437
  • IPB version:I have no IPB
 

Отправлено 17 Декабрь 2018 - 08:38

Просмотреть сообщениеvinegredz сказал(а):

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

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

0

#10 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 175
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 17 Декабрь 2018 - 10:05

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

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна