Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
stashappy
42 / 42 / 4
Регистрация: 21.08.2011
Сообщений: 625
#1

Грамотно определить длину строки и обрезать ее до n символов - PHP

21.08.2014, 18:38. Просмотров 459. Ответов 2
Метки нет (Все метки)

Добрый вечер.

Хотелось бы грамотно определить длинну строки и если она превышает n-ое количество символов, обрезать её. Вот мой старый вариант, но он не совсем удовлетворительный:

PHP
1
2
3
4
5
if(strlen($str)>39) { 
    $new_str = substr($str, 0, 39)."..";
} else {
    $new_str = $str;
}
Я пробовал также такой вариант:

PHP
1
2
3
4
5
6
7
mb_internal_encoding('windows-1251');
 
if(mb_strlen($str)>39) { 
    $new_str = mb_substr($str, 0, 39)."..";
} else {
    $new_str = $str;
}
Но оба эти варианта, возвращают абсолютно одинаковый результат. Кстати страница и все данные, в win-1251 кодировке. Как решить данную проблему? Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2014, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Грамотно определить длину строки и обрезать ее до n символов (PHP):

Определить длину строки, а не количество байт - PHP
привет. читаю из сокета 1024 байт. в прочитанном буфере содержится 6 символов. но strlen() говорит что длина строки ровняется 1024...

Как определить длину строки в байтах - PHP
как быть, если строка юникодная? Нужно контролировать именно размер занимаемый в памяти, на не количество символов.

Как правильно определить длину строки в кодировке UTF-8? - PHP
подскажите как в этот код добавить utf-8 ? потому что русские символы тяжелее в 2 раза. if(strlen($_POST) >= 4 && strlen($_POST) <=...

Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из строк новую строку, содерж. первые N1 символов строки S1 и последние N2 символов - PHP
Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк новую строку, содержащую первые N1 символов строки S1 и...

Как обрезать пробелы в начале и в конце строки? - PHP
Как обрезать любое количество пробелов в начале и в конце строки, если они там есть? И вернуть ту же строку без пробелов. Например: было " ...

Строки: определить максимальную длину цепочки повторяющихся символов - Turbo Pascal
Задана строка. Определить максимальную длину цепочки повторяющихся символов. Ну например: 65лааа авлалкк чссссыа в этом...

2
alexsamos33
594 / 574 / 193
Регистрация: 26.04.2014
Сообщений: 1,888
21.08.2014, 19:15 #2
PHP
1
$new_str = substr($str, 0, 39);
0
metacoder
34 / 34 / 11
Регистрация: 28.07.2011
Сообщений: 64
22.08.2014, 15:03 #3
PHP
1
$new_str = mb_strimwidth($str, 0, 39, "...");
http://php.net/manual/ru/function.mb-strimwidth.php
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 15:03
Привет! Вот еще темы с ответами:

Ввести с клавиатуры строку символов.Признак окончания ввода строки - нажатие клавиши 'ввод'.Программа должна определить длину введенной строки L - Pascal
Помогите пожалуйста:gbye: Ввести с клавиатуры строку символов.Признак окончания ввода строки - нажатие клавиши 'ввод'.Программа должна...

Необходимо определить длину строки, вывести строку, которая состоит из двух символов, чередующиеся длины n - C++
Здравствуйте, уважаемые программисты. Помогите пожалуйста с написанием кода для данной задачи в visual studio, по возможности добавьте...

Необходимо определить длину строки, вывести строку, которая состоит из двух символов, чередующиеся длины n - C++ Builder
Здравствуйте, уважаемые программисты. Помогите пожалуйста с написанием кода для данной задачи в visual studio, по возможности добавьте...

Ввести строку символов. Определить длину введенной строки L, и если длина L кратна 3, то удаляются все символы, стоящие на местах с номером кратным 3 - C++
!!!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru