prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
РазделНазвание темыОтветовПоследний
Объявления, новости, предложения и отзывы Новый форум открыт! 4 raz0r
«    Январь 2018    »
ПнВтСрЧтПтСбВс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

PW — всё для вебмастера » Всё для DataLife Engine » DLE хаки » Правильное отображение русскоязычных значений в доп полях вида перекрёстные гиперссылки

Правильное отображение русскоязычных значений в доп полях вида перекрёстные гиперссылки


Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Правильное отображение русскоязычных значений в доп полях вида перекрёстные гиперссылки.


Правильное отображение русскоязычных значений в доп полях вида перекрёстные гиперссылки


Данный хак исправляет неправильное отображение русских слов в дополнительных полях вида перекрёстные гиперссылки, выводимые в краткой и полной новости.

Автор: DomiTori
Версия DLE: любая

Никакой магии, всего лишь определил откуда скрипт берет ссылку в дополнительном поле и поменял кодировку вывода ссылки в новость.

Ищем в файле \engine\modules/show.full.php (в DLE 10.3 это 1336-1337 строки)
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";
else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

В разных версиях DLE содержание строки может быть разным, нас же интересует данный код
urlencode( $value2 )

Меняем два раза значение на
urldecode( $value2 )

И получаем следующее
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urldecode( $value2 ) . "/\">" . $value2 . "</a>";
else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urldecode( $value2 ) . "\">" . $value2 . "</a>";


Далее ищем в файле \engine\modules/show.short.php (в DLE 10.3 это 480-481 строки)
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";
else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

Опять же разных версиях DLE содержание строки может быть разным, нас же интересует данный код
urlencode( $value2 )

Меняем два раза значение на
urldecode( $value2 )

И получаем следующее
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urldecode( $value2 ) . "/\">" . $value2 . "</a>";
else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urldecode( $value2 ) . "\">" . $value2 . "</a>";


Вот и всё. Кому интересно немного информации
urlencode — URL-кодирование строки. Эта функция удобна, когда закодированная строка будет использоваться в запросе, как часть URL, также это удобный способ для передачи переменных другим страницам.
urldecode — Декодирование URL-кодированной строки. Декодирует любые %## кодированные последовательности в данной строке. Символ "плюс" ('+') декодируется в символ пробела.

Кстати можно сделать немножко по-другому, вместо
urldecode( $value2 )

вставить
rawurldecode( $value2 )

Эффект будет таким же, и хоть заменив код таким образом символ "+" не должен меняться на "%20" (пробел), он всё равно меняется. В общем кому как больше нравится ^_^


+1
Просмотры: 2345 Комментарии (6)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1G-3p

  • 20 сентября 2014 08:39
  • Регистрация: 11.12.2013
  • ICQ: --
  • Комментариев: 83
Пытался применить это к облаку тегов - без толку. С анг. символами нормально, а вот с русскими - закодированные.

0

#2ПафНутиЙ

  • 20 сентября 2014 22:18
  • Регистрация: 8.03.2010
  • ICQ: 817233
  • Комментариев: 400
А не проще ли поставить UTF-8 версию, чем городить кучу правок?

--------------------

+3

#3DomiTori

  • 9 ноября 2014 10:05
  • Регистрация: 8.12.2012
  • ICQ: 643771141
  • Комментариев: 17
ПафНутиЙ,
проще. хоть и слышал что utf версия занимает больше места в бд, больше грузит....
G-3p,
в show.full.php, show.short.php и show.custom.php
ищешь дважды

заменяеш также дважды на

0

#4ПафНутиЙ

  • 9 ноября 2014 12:15
  • Регистрация: 8.03.2010
  • ICQ: 817233
  • Комментариев: 400
Цитата: DomiTori
проще. хоть и слышал что utf версия занимает больше места в бд, больше грузит....

Все что-то где-то слышали, однако никто толком ничего не знает.
Даже если места БД занимает больше - не думаю, что это как то скажется на производительности, а вот постоянное конвертирование данных между кодировками (см ajax) грузит сервер гораздо больше, чем отсутствие этjго конвертирования в utf кодировках smile

--------------------

0

#5DomiTori

  • 9 ноября 2014 15:10
  • Регистрация: 8.12.2012
  • ICQ: 643771141
  • Комментариев: 17
Цитата: ПафНутиЙ
Все что-то где-то слышали, однако никто толком ничего не знает.

возможно и так. сижу на win1251, ибо большинство бесплатных модов и хаков на эту версию

-1

#6XyuAdmin

  • 16 ноября 2014 19:04
  • Регистрация: 16.11.2014
  • ICQ: --
  • Комментариев: 30
Круто. Поставлю себе такой

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

SkripTers.biz - Снова с вами

https://culabra.ru — Блог вЭбмастЭра

DCOReARTs.COM - Услуги веб-дизайна и графики

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Январь 2018 (48)
Декабрь 2017 (27)
Ноябрь 2017 (7)
Октябрь 2017 (10)
Сентябрь 2017 (4)
Август 2017 (4)

Последние комментарии:

Искать людей

Ваши переписки