Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Обрезание строк utf8 (https://javascript.ru/forum/server/13881-obrezanie-strok-utf8.html)

cuberboy 18.12.2010 19:35

Обрезание строк utf8
 
бд и страница в utf8.

Вывожу из базы анонс текста
<?=substr(strip_tags($f[block]),0,249);?>


Ну и он мне рисует на конце строки знак вопросика, типа обрезал пол символа. как с этим бороться? неужели конвертировать в вин1251 обрезать и птом выводить :-E

B@rmaley.e><e 18.12.2010 20:03

Используйте функции, работающие с мультибайтной кодировкой.

Gozar 18.12.2010 20:42

удалено.

cuberboy 18.12.2010 22:52

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 84335)
Используйте функции, работающие с мультибайтной кодировкой.

пробывал, у меня она не работает - видимо нужны дополнительный модули.

вариант с пробелом красив! )))

Andrei 26.12.2010 17:32

Попробуйте так:

<?php
    substr(strip_tags($f[block]), 0, 249, 'utf-8');
?>

Gozar 26.12.2010 17:43

удалено.

PeaceCoder 26.12.2010 17:44

mb_substring

Упс. Написали в одно время =)

Andrei 26.12.2010 17:49

Цитата:

Сообщение от Gozar (Сообщение 85355)
Andrei,
может тогда:
mb_substr(strip_tags($f[block]), 0, 249, 'utf-8');
?

но вообще это без разницы, т.к. всё равно резать по пробелу будет одинаково, а резать не по пробелу не кавайно.

Забыл поменять, с mb_substr лучше будет :)

Gozar 26.12.2010 18:20

удалено.

PeaceCoder 26.12.2010 20:07

Цитата:

Сообщение от Gozar
пробывал, у меня она не работает - видимо нужны дополнительный модули.

Нормальный хостинг должен иметь этот модуль, т.к. утф сейчас почти везде используется.


Часовой пояс GMT +3, время: 18:31.