Показать сообщение отдельно
Старый 28.11.2013, 12:58   #1
Seo-man

Администратор

 
Аватар для Seo-man
 
Регистрация: 08.05.2008
Адрес: Молдова/ПМР, Тирасполь
Сообщений: 3,554
Вы сказали Спасибо: 95
Поблагодарили 137 раз(а) в 124 сообщениях
Репутация: 1596
По умолчанию Краказяблы в объявлениях у компонента 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
__________________
Недорогой хостинг! forum-seo.net/showthread.php?p=10754
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 30 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Seo-man вне форума   Ответить с цитированием