Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> substr возвращает в конце строки кракозябру 
V
    Опции темы
Alex103
Дата 22.2.2010, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Добрый вечер.
После обрезки строки функцией substr() в отдельных случаях в конце новой строки(обрезанной) появляется непонятный символ см. скрин.
Пример использования:
Код

echo substr($name, 0 ,(strlen($name) - ($sum_chars - $breadcrumbs_length)))."...";
 
Смысл состоит в том чтобы укоротить строку если она слишком большая.

Подскажите пожалуйста в чем моя ошибка.

Это сообщение отредактировал(а) Alex103 - 22.2.2010, 21:22

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  screen.png 2,95 Kb


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
skyboy
Дата 22.2.2010, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



для данных в многобайтной кодировке(например, utf-8) надо пользовать аналоги строковых функций из модуля mb. в твоем случае, следует использовать mb_substr
PM MAIL   Вверх
Kano
Дата 22.2.2010, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.2.2009

Репутация: 1
Всего: 0



Ошибка в том, что, скорее всего, ты подставляешь строку в UTF-8.

См. mb_substr(), iconv_substr()
PM MAIL   Вверх
Alex103
Дата 22.2.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Спасибо большое, вопрос решен.

Цитата(Kano @  22.2.2010,  21:25 Найти цитируемый пост)
Ошибка в том, что, скорее всего, ты подставляешь строку в UTF-8.

Вряд ли это можно считать ошибкой, я подставляю в utf-8 потому что текст может содержать и кирилицу и латиницу.



--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Kano
Дата 23.2.2010, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.2.2009

Репутация: 1
Всего: 0



Цитата(Alex103 @  22.2.2010,  22:33 Найти цитируемый пост)
Вряд ли это можно считать ошибкой, я подставляю в utf-8 потому что текст может содержать и кирилицу и латиницу

— придираемся к словам?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.