Перейти к содержанию
ginsar

Неправильные символы при обрезке названия товара

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

Добрый день.

Названия товаров в интернет-магазине могут быть слишком длинные и при отображении, например в категории, заезжать на цену товара. Чтобы этого избежать, я сделал обрезку названий до 70 символов. Но сейчас при отображении иногда появляются символы не из той кодовой страницы. Не понятно почему! Скриншот прилагается.

Помогите разобраться.

 

Код обрезки следующий:

<a href="<?php echo $product['href']; ?>"><?php if (strlen($product['name']) > 70) { echo substr($product['name'],0,66); echo '...'; } else { echo $product['name']; } ?></a>

Не правильный символ появляется между echo substr($product['name'],0,66); и echo '...';

 

Пример тут https://mebelermo.ru/search/?search=MAGO

2018-09-24_12-30-04.png

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


Ссылка на сообщение
Поделиться на другие сайты

или как в движке обычно пишется
 

utf8_substr(strip_tags(html_entity_decode($product['name'], ENT_QUOTES, 'UTF-8')), 0, 66) . '..';

 

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
50 минут назад, shalan сказал:

или как в движке обычно пишется
 


utf8_substr(strip_tags(html_entity_decode($product['name'], ENT_QUOTES, 'UTF-8')), 0, 66) . '..';

 

Спасибо. Работает.

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


Ссылка на сообщение
Поделиться на другие сайты
Спасибо. Работает.
Только в названии априори нету тегов http://php.net/manual/ru/function.strip-tags.php
Достаточно строковой функции http://php.net/manual/en/ref.mbstring.php


Отправлено через Tapatalk

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


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, pimur сказал:

Только в названии априори нету тегов http://php.net/manual/ru/function.strip-tags.php

 

попадались сайты с тегами в названиях, статусах, ценах, различных полях товара и тд

видимо вам везло и пока еще не сталкивались с "творческим" подходом некоторых владельцев сайтов/исполнителей :D

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


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, AlexDW сказал:

 

попадались сайты с тегами в названиях, статусах, ценах, различных полях товара и тд

видимо вам везло и пока еще не сталкивались с "творческим" подходом некоторых владельцев сайтов/исполнителей 

И в правду везло наверно. 

Я даже не мог подумать что у кого то придет в голову пихать в название товара теги :-?

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


Ссылка на сообщение
Поделиться на другие сайты

хм, а почему бы и да? Фанера 10м<sup>2</sup>

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


Ссылка на сообщение
Поделиться на другие сайты
11 минут назад, chukcha сказал:

хм, а почему бы и да? Фанера 10м<sup>2</sup>

Ну это скорее всего исключение из правил. Чем стандарт де факто.

Для тс, вообще можно css обойтись.

Для однострочного текста хватить text-owerflov http://htmlbook.ru/css/text-overflow

Для многострочного line-height vs высота родителя, с псевдо элементом :before

Дополню https://getinstance.info/articles/css/truncate-multiline-text/

Изменено пользователем pimur

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


Ссылка на сообщение
Поделиться на другие сайты

Такс, прекращаем флуд.

Вопрос решен. Тема закрыта.

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.