Помогите пожалуста. Как мне разделить текст на предложения.
Я так понимаю я должен посимвольно пройти весь текст и если мне встречается буква в верхнем регистре я должен начать ее записывать в массив пока не встретится символ окончания строки (. ! ?).
Проблема вследующем, как можно быстро найти Заглавную букву.
1. victor - 18 Сентября, 2007 - 04:38:55 - перейти к сообщению
2. Alone - 18 Сентября, 2007 - 06:07:18 - перейти к сообщению
victor пишет:
Проблема вследующем, как можно быстро найти Заглавную букву.
А если в предложении есть чьё-то имя или просто слово с большой? Тогда не будет это работать.
Например такое предложение: "В понедльник рано утром Виктор по обыкновению делал прогулки по саду".
3. TvoyWeb - 18 Сентября, 2007 - 06:18:20 - перейти к сообщению
victor
В $text нужно считать весь текст который хочешь обработать. На выходе получишь масссив предложений.
CODE:
$text = preg_split("#(?<=[\.\?\!])\s+(?=[А-Я-])#s", $text,-1,PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
В $text нужно считать весь текст который хочешь обработать. На выходе получишь масссив предложений.
4. victor - 18 Сентября, 2007 - 06:31:10 - перейти к сообщению
Alone читай внимательней я про это писал как само собой разумеещееся. Я же написал от Первой заглавной буквы до конца предложения.
TvoyWeb спасибо. А то я в шаблонах еще слаб. Невсегда получается сделать нужный шаблон.
TvoyWeb спасибо. А то я в шаблонах еще слаб. Невсегда получается сделать нужный шаблон.
5. Alone - 18 Сентября, 2007 - 06:51:52 - перейти к сообщению
victor пишет:
Я же написал от Первой заглавной буквы до конца предложения.
Не писал
6. victor - 18 Сентября, 2007 - 07:14:03 - перейти к сообщению
Alone а это что:
Разве тут не сказано о начале записи (заглавной букве) ничего и о конце записи?
Если не видешь я спорить небуду. Главное что шаблон поможет многим работать с текстом.
Цитата:
если мне встречается буква в верхнем регистре я должен начать ее записывать в массив пока не встретится символ окончания строки (. ! ?).
если мне встречается буква в верхнем регистре я должен начать ее записывать в массив пока не встретится символ окончания строки (. ! ?).
Разве тут не сказано о начале записи (заглавной букве) ничего и о конце записи?
Если не видешь я спорить небуду. Главное что шаблон поможет многим работать с текстом.
7. Alone - 18 Сентября, 2007 - 07:40:40 - перейти к сообщению
victor
А причём здесь тогда буква в врехнем регистре?
Если известен конец предложения то ясный фиг - это является началом следующего предложения и т.д. По-моему с буквой - это лишнее.
А причём здесь тогда буква в врехнем регистре?
Если известен конец предложения то ясный фиг - это является началом следующего предложения и т.д. По-моему с буквой - это лишнее.
8. Furax - 20 Сентября, 2007 - 04:51:01 - перейти к сообщению
Alone
Не лишнее. А знаки перевода строки? А пробелы между предлажениями, смайлы и т. п.?
victor
Проблема, скорее, в предложениях типа, "Не забудьте взять тёплые вещи: носки, свитера и т. п.". Сокращения вроде "гр.", "и пр.", "тов.", "ст." и так далее ещё никто не отменял...
Не лишнее. А знаки перевода строки? А пробелы между предлажениями, смайлы и т. п.?
victor
Проблема, скорее, в предложениях типа, "Не забудьте взять тёплые вещи: носки, свитера и т. п.". Сокращения вроде "гр.", "и пр.", "тов.", "ст." и так далее ещё никто не отменял...
9. Alone - 20 Сентября, 2007 - 08:14:34 - перейти к сообщению
Furax пишет:
Проблема, скорее, в предложениях типа, "Не забудьте взять тёплые вещи: носки, свитера и т. п.". Сокращения вроде "гр.", "и пр.", "тов.", "ст." и так далее ещё никто не отменял...
Это точно. Что-то я об этом не подумал. Но их можно исключить (вырезать), не так уж и много.
Furax пишет:
Не лишнее. А знаки перевода строки? А пробелы между предлажениями, смайлы и т. п.?
Ну я например по такому примерно пути шёл:
CODE:
$array=explode(".",$content);
for($i=0;$i<n;$i++)
{
$text.=$array[$i]."";
}
for($i=0;$i<n;$i++)
{
$text.=$array[$i]."";
}