Регулярное выражение - допустимое количество символов текста.

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 090
Благодарностей
127
Баллы
63
Как ограничить текст допустимым количеством символов и обрезать до последней точки?
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 404
Благодарностей
313
Баллы
83
имеется в виду, поставить кол-во символов для конкретного текста, потом удадить то что идет перед ним? я правильно понял?
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 090
Благодарностей
127
Баллы
63
Текст, допустим 400 символов, а ограничение для формы постинга - не более 180. Значит нужно взять с начала текста 180 символов, а потом для смысловой законченности обрезать лишние до последней точки.
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 404
Благодарностей
313
Баллы
83
Текст, допустим 400 символов, а ограничение для формы постинга - не более 180. Значит нужно взять с начала текста 180 символов, а потом для смысловой законченности обрезать лишние до последней точки.
http://zennolab.com/discussion/threads/kak-obrezat-tekst-bod-nuzhnoe-kolichestvo-simvolov.21186/#post-140110
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 404
Благодарностей
313
Баллы
83
А на счёт точки можно через regex, делать на последнее совпадение.
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 404
Благодарностей
313
Баллы
83
Пример такой.
 

Вложения

  • 12,8 КБ Просмотры: 234

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 602
Баллы
113
n - наше ограничение количества символов
Если точку ищем после нашего лимита - ^.{n}.*?\.
Если точки ищем уже до нашего лимита как можно ближе к нему - ^.{0,n}\.
По идее должно работать, но я не проверял
 
  • Спасибо
Реакции: redman и Metrix

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 090
Благодарностей
127
Баллы
63
Всем огромное спасибо, doc - второй вариант - то, что надо.
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 090
Благодарностей
127
Баллы
63
Если точки ищем уже до нашего лимита как можно ближе к нему - ^.{0,n}\.
А если точку не находит до n символов, чтобы тупо обрезал по ближайшему пробелу.
Как соединить?
^.{0,n}\. ИЛИ ^.{0,n}\s
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 106
Баллы
113
Код:
^.{0,n}(\.|\s)
Можно еще добавить "?" и "!"
Код:
^.{0,n}(\.|\?|\!|\s)
 
  • Спасибо
Реакции: redman

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 090
Благодарностей
127
Баллы
63
Супер!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)