Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] В модуле новостей добавляется неапознаный символ. Как убрать? (Подробней внутри)


Recommended Posts

Привет всем!

Есть модуль новостей.

 

В нем, в некоторых случаях в конце новости добавляется символ нераспознаной кодировки (так мне кажется).

Видимо этот символ ставится вместо определенных символов, так как не всегда он показывается. Но когда показывается, сильно глаз коробит.

 

Модуль покупал давно на Фрилансе. Теперь и не найду разработчика. Вся надежда на опыт других разработчиков (на вас).

 

d0a1d0bdd0b8d0bcd0bed0ba6.jpg

 

Как его убрать?

Надіслати
Поділитися на інших сайтах


ну если вам нужна подсказка, то всегда пожалуйста. Откройте сначала контролер category.tpl и посмотрите как там организуется сокращение текста,

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',

а потом сравните с контролером модуля новостей и увидите разницу. Вас должны заинтересовать эти строки utf8_substr(strip_tags(html_entity_decode

Надіслати
Поділитися на інших сайтах

koreshok

Спасибо за ответ. Посмотрел в языковый файл. Там ничего не нашел. Но и вроде там и не должно быть, так как символ появляется из текста статьи, а не из ссылки "далее".

 

ravilr

Да, вы правы. Действительно различие есть в этом месте.

В контроллере новостей это выглядит так:

$this->data['description'] = html_entity_decode($news_article_info['news_description'], ENT_QUOTES, 'UTF-8');

  Изменил на это (по примеру с category.php):

$this->data['description'] = utf8_substr(strip_tags(html_entity_decode['news_description'], ENT_QUOTES, 'UTF-8');

Но видимо этого не достаточно - эти символы так и остались.

Надіслати
Поділитися на інших сайтах


$this->data['description'] = utf8_substr(html_entity_decode($news_article_info['news_description'], ENT_QUOTES, 'UTF-8'));

 

Спасибо. Строчку изменил, но символы так и остались.

 

Нашел в другом файле похожие строки. Вот:

if (isset($setting['desc_show'])) {
				$description = substr(strip_tags(html_entity_decode($result['news_description'], ENT_QUOTES, 'UTF-8')), 0, (int)$setting['desc_limit']) . '..';
			} else{
				$description = false;
			}

Пробовал часть строки изменить, чтобы они соответствовали изменениям, но выдает ошибку. Помогите пожалуйста. Думаю в этом коде еще нужно изменить, но что именно, затрудняюсь.

Надіслати
Поділитися на інших сайтах


[РЕШЕНО]

 

Получилось!

Спасибо всем!

Перед

substr(strip_tags(html_entity_decode($result['news_description'], ENT_QUOTES, 'UTF-8')), 0, (int)$setting['desc_limit']) . '..';

добавил utf8_

Получилось так:

if (isset($setting['desc_show'])) {
				$description = utf8_substr(strip_tags(html_entity_decode($result['news_description'], ENT_QUOTES, 'UTF-8')), 0, (int)$setting['desc_limit']) . '..';
			} else{
				$description = false;
			}
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.