Правильное образение текста или как избавиться от "колокольчика"

Статус
В этой теме нельзя размещать новые ответы.

saymong

Мой дом здесь!
Регистрация
29 Сен 2010
Сообщения
610
Реакции
430
Здравствуйте уважаемые форумчане.
Уже 2 суток мучаюсь, но никак не могу найти решения.
В общем имеется код (вывод заголовков с обрезание по кол-ву символов).

PHP:
<h2><a href='<?php the_permalink(); ?>' title='<?php the_title(); ?>'>

<?php if(get_option('tigu_shorten_titles') == 'true'): ?>
<?php $shorttitle = substr(the_title('','',FALSE),0,21); ?><?php echo $shorttitle; if (strlen($shorttitle) >20){ echo '&hellip;'; } ?>
<?php else: ?>
<?php the_title(); ?>
<?php endif; ?>
</a></h2>

Но текст на сайте выходит в виде

Темные Войн�…

Как избавиться от колокольчика в конце слова (знак �)

Заранее благодарю за помощь. Все файлы в кодировке UTF8 без BOM.
 
Последнее редактирование:
mb_strlen вместо strlen
mb_substr вместо substr
Правильней было бы использовать конструкцию типа:
mb_substr($str, 0, 21, 'UTF-8');
Ещё более правильней написать функцию my_substr или найти в инете готовую, дабы не изобретать велосипед.
 
по идее можете прилепить куда нибудь в заголовке что-нибудь типа
<?php header('Content-Type: text/html;charset=windows-1251');?>
или какая там у вас кодировка.
Затем можно забить на троеточие и вывести какой нибудь обычный символ, хотя бы ... точками
 
если на сервере / хостинге нет модуля php_mbstring и нет возможности его включить, то можно сделать так:
iconv_substr($str, 0, 20, 'UTF-8')
 
На сервер уже было установлено расширение mb_string. Проблему решил просто прибавлением mb_
Спасибо за помощь и желание помочь.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху