Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Разделение текста на предложения
ТвойWeb » WebMaster класс » PHP/Perl » Разделение текста на предложения

Страниц (1): [1]
 

1. victor - 18 Сентября, 2007 - 04:38:55 - перейти к сообщению
Помогите пожалуста. Как мне разделить текст на предложения.

Я так понимаю я должен посимвольно пройти весь текст и если мне встречается буква в верхнем регистре я должен начать ее записывать в массив пока не встретится символ окончания строки (. ! ?).
Проблема вследующем, как можно быстро найти Заглавную букву.
2. Alone - 18 Сентября, 2007 - 06:07:18 - перейти к сообщению
victor пишет:
Проблема вследующем, как можно быстро найти Заглавную букву.

А если в предложении есть чьё-то имя или просто слово с большой? Тогда не будет это работать.
Например такое предложение: "В понедльник рано утром Виктор по обыкновению делал прогулки по саду".
3. TvoyWeb - 18 Сентября, 2007 - 06:18:20 - перейти к сообщению
victor
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 спасибо. А то я в шаблонах еще слаб. Невсегда получается сделать нужный шаблон.
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
Проблема, скорее, в предложениях типа, "Не забудьте взять тёплые вещи: носки, свитера и т. п.". Сокращения вроде "гр.", "и пр.", "тов.", "ст." и так далее ещё никто не отменял...
9. Alone - 20 Сентября, 2007 - 08:14:34 - перейти к сообщению
Furax пишет:
Проблема, скорее, в предложениях типа, "Не забудьте взять тёплые вещи: носки, свитера и т. п.". Сокращения вроде "гр.", "и пр.", "тов.", "ст." и так далее ещё никто не отменял...

Это точно. Что-то я об этом не подумал. Но их можно исключить (вырезать), не так уж и много.
Furax пишет:
Не лишнее. А знаки перевода строки? А пробелы между предлажениями, смайлы и т. п.?

Ну я например по такому примерно пути шёл:
CODE:
$array=explode(".",$content);
for($i=0;$i<n;$i++)
{
$text.=$array[$i]."";
}

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0404]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33