Как вырезать первые n предложений из текста?

Royal Flash

-=MaestrO=-
Как вырезать первые n предложений из текста?

Есть описание товара для инет-магазина. Нужно вырезать первые 2-3 предложения. Как это сделать сложно - знаю, но хотелось бы сделать легко и правильно.

Сложно - строковыми выражениями найти n-ую точку, определить длинну до нее и обрезать лишнее.

Правильно, догадываюсь, preg_match - вот только не силен в регулярках, и не представляю, как отсчитать 3-ую точку и запомнить в переменную отрезок до нее.
 

dimagolov

Новичок
Royal Flash, проблема не в том, что ты сказал, а в том, что точка не обязательно означает окончание предложения, она может и быть внутри него (сокращения, инициалы имен и т.п.)
 

baev

‹°°¬•
Команда форума
И — с другой стороны — предложение необязательно оканчивается точкой.

Есть кавычки, есть скобки, есть вопросительный и восклицательный знаки…
 

nerezus

Вселенский отказник
"Сложно - строковыми выражениями найти n-ую точку, определить длинну до нее и обрезать лишнее."
Ну прямо очень сложно.

dimagolov baev Для подобной задачи такая точность не нужна )

По факту проще после N знаков искать точку и обрезать после нее.
 

prolis

Новичок
я бы искал не просто точку, а комбинацию из точки, пробела и символа в верхнем регистре
 

Royal Flash

-=MaestrO=-
dimagolov - согласен, но исключения добавить уже не составит труда... я думаю...

baev - добавить к регулярке вопросительные и восклицательные знаки - тоже не проблема. Кавычки и скобки, если соблюдать правила рус. яз. - должны быть до точки, на сколько я помню.

Спасибо за замечания. Но большая точность, действительно, не нужна.

nerezus
Ну прямо очень сложно.
- я так тоже думаю, но надеялся, что это не правда :)

prolis - спасибо за совет!

Может быть всетаки можно написать регулярку?
 

baev

‹°°¬•
Команда форума
должны быть до точки, на сколько я помню
— не всегда.
Если в скобки целое предложение взято, то скобка будет после точки. То же и с кавычками.

А если большая точность не нужна, то и регулярки не нужны: хватит и строковых функций.
 
Сверху