Краказяблы в объявлениях у компонента adsmanager

  • Автор темы Автор темы Seo-man
  • Дата начала Дата начала

Seo-man

Бывший владелец форума
Регистрация
8 Май 2008
Сообщения
3,495
Реакции
18
Баллы
38
Возраст
44
Адрес
Молдова/ПМР, Тирасполь
Веб-сайт
forum-seo.net
Краказяблы в объявлениях у компонента adsmanager

Есть проблема, если в объявлении, выводимом через компонент adsmanager есть "текст,текст", то вместо "," появляются краказяблы.

Ограничение на длину слова в одной из функций компонента стоит 40 символов.
Потому и текст,текст резало, что без пробела перло - за 1 слово считал.
/components/com_adsmanager/adsmanager.html.php
Виноватая функция function cutLongWord($text) (21 строка)


Было:
function cutLongWord($text) {

$limit = 40;
// Он хранит все слова в таблице
$tab = explode(' ', $text); // Возвращает массив строк, разбитых пробелами
foreach($tab as $k => $str) {
// Все слова вырезаны > $limit
$tab[$k] = wordwrap($str, $limit, " ", true); // переносы
}
// востановить сеть отправления
$string = implode(' ', $tab); //склеили масив в строку
return $string;
}


Надо:

function cutLongWord($text) {
$string = mb_substr($text, 0, mb_strlen($text)); //Корректно выполняет выборку подстроки для многобайтовых кодировок, учитывая количество символов.
return $string;
}

По материалам:
joomlaforum.ru/index.php/topic,41450.30.html
 
Назад
Сверху