Обрезать название до 50 символов и др.

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Можно такое как-то реализовать? Есть название "Автомобильное кресло Miramax детское мягкое и прикольное." Обрезается до 50 символов. Удаляется точка или запятая если они в конце, получается "Автомобильное кресло Miramax детское мягкое и прик" Идет проверка есть ли обрезка последнего слова, если есть обрезка, последнее слово не берется. Получается "Автомобильное кресло Miramax детское мягкое и" Идет проверка последнее слово больше 2х символов, если да, то ОК, если нет, последнее слово не берется. Итог: Автомобильное кресло Miramax детское мягкое
 

blud

Client
Регистрация
19.04.2011
Сообщения
657
Благодарностей
77
Баллы
28
Можно такое как-то реализовать? Есть название "Автомобильное кресло Miramax детское мягкое и прикольное." Обрезается до 50 символов. Удаляется точка или запятая если они в конце, получается "Автомобильное кресло Miramax детское мягкое и прик" Идет проверка есть ли обрезка последнего слова, если есть обрезка, последнее слово не берется. Получается "Автомобильное кресло Miramax детское мягкое и" Идет проверка последнее слово больше 2х символов, если да, то ОК, если нет, последнее слово не берется. Итог: Автомобильное кресло Miramax детское мягкое
[\w\W]{1,ваше количество символов}(?=\ )
 
  • Спасибо
Реакции: bedl0 и Andr123

blud

Client
Регистрация
19.04.2011
Сообщения
657
Благодарностей
77
Баллы
28
[\w\W]{1,ваше количество символов}(?=\ )
даа... совсем забыл.. если количество символов в исходном тексте будет меньше, чем необходимо при обрезании, то переменная будет пустая... поэтому после регекспа, проверяйте переменную
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 107
Баллы
113
  • Спасибо
Реакции: Andr123

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8

blud

Client
Регистрация
19.04.2011
Сообщения
657
Благодарностей
77
Баллы
28

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Регулярка [\w\W]{1,ваше количество символов}(?=\ ) в принципе хорошо работает. Можно еще дополнительно другими регулярками убрать точку или запятую в конце, а потом убрать любое слово меньше двух символов? Попробовал варианты, что выше по ссылке, но не получается.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 604
Баллы
113

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 107
Баллы
113
Код:
^.{0,40}\w{3,}
 
  • Спасибо
Реакции: Andr123 и blud

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Огромное спасибо! Все работает. Единственный момент, если легко исправить можно еще чтобы скобка в конце не обрезалась? Т.е, например, если название Автомобильное кресло Miramax детское (мягкое) и прикольное, то обрезается как Автомобильное кресло Miramax детское (мягкое
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 107
Баллы
113
Код:
^.{0,40}([\d\)]{1,}|[A-Za-zА-Яа-я\)]{3,})
+ добавил, чтоб не обрезались цифры, на случай, если будет что-то вроде: Самая лучшая программа - ZennoPoster 5
 
Последнее редактирование:
  • Спасибо
Реакции: Andr123

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Код:
^.{0,40}([A-Za-zА-Яа-я]{3,}|\d|\))
+ добавил, чтоб не обрезались цифры, на случай, если будет что-то вроде: Самая лучшая программа - ZennoPoster 5
все равно удаляется скобка в конце :(
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 107
Баллы
113
  • Спасибо
Реакции: Andr123

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Да, все отлично :ay:Спасибо!
 

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