Вэб-разработка
Учим PHP

Rich (off) VIP [5271]
28 февраля 2010, 14:37

Dj maga, читайте тему.Это последнее китайское предупреждение .!.
-------
Dedof (off) [899]
28 февраля 2010, 21:46

хочу спросить пробовал ли кто нибудь использовать функцию mb_substr вместо substr для коректного обрезания текста в UTF - 8 ?
Что то попробовал заменить и вообще на денвере скрипт работать перестаёт :(
-------
Profi Administrator [10176]
28 февраля 2010, 22:21

Dedof, когда то переводил смарт-версию на utf, всё работало .hz.

<?php $text = ( mb_strlen($text) > 10 ) ? mb_substr($text010) . ' ...' $text

Для использования этих функций на сервере должна быть подключена библиотека php mb_string
-------
Dedof (off) [899]
28 февраля 2010, 23:01

У своего хостера интересовался насчёт этой функции - ответили что поддерживается, а вот на локалке что то не получается - может в денвере этой библиотеки нет?
-------
Dedof (off) [899]
28 февраля 2010, 23:09

у меня строчка выглядит так:

if (strlen($first_post) > $chr_limit)
{
$first_post = substr($first_post, 0, $chr_limit);
$first_post .= '...';
}

меняю substr на mb_substr и вобще перестаёт работать.
-------
Profi Administrator [10176]
28 февраля 2010, 23:09

Dedof, в php.ini раскомментируй строчку
extension=php_mbstring.dll
-------
Profi Administrator [10176]
28 февраля 2010, 23:13

Dedof, все строковые функции нужно менять на мультибайтные аналоги, иначе будет работать некорректно.
Смысл твоего кода тот же что и я написал, но у меня с учётом многобайтных символов.
-------
Profi Administrator [10176]
28 февраля 2010, 23:17

echo strlen('ф'); // 2
echo mb_strlen('ф'); // 1
-------
Dedof (off) [899]
28 февраля 2010, 23:28

то есть если не могу применить в одном определённом месте mb_substr и надо везде менять ?
-------
Profi Administrator [10176]
28 февраля 2010, 23:53

Dedof, дык дело хозяйское. Будет и так и так работать.
Проблема возникает при обработке текста содержащего кириллицу. Как известно в utf одна буква русского алфавита занимает два байта.
Пример я выше написал. Если ты обрезаешь как мультибайтную строку, то и количество символов нужно считать так же.
-------

Ответить на тему

стр. Пред. 1,2,3 ... 63,64,65 ... 87,88,89 След.

стр.  

Вэб-разработка
Список форумов
На главную

Последние темы

Регистрация
Вход

0.028 сек
SQL: 4