Работа с предложениями в тексте.

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 4 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Подскажите пожалуйста, как к 5му предложению в тексте применить функцию my_fucntion();.
    Просьба учесть, всевозможные окончания предложений.
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Как вариант резать текст регулярным выражением.
    PHP:
    $text "Первое предложение.. Однажды я ел печенье!?! Вася, где ты был?! Ой...пупкупцкуп.ркуркурукру? рры? рврвао? ооапл. аплоапла. алап. ввовао. воваовао.";
    $data preg_split("![\.|\!|\?]+!i",$text);
    массив $data будет содержать все предложения, пятое предложение - $data[4]
     
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Как эта регулрярка будет относится к предложениями, с многоточиями, с кавычкой и точкой?
     
  4. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    неважно сколько точек, хоть одна хоть десять
     
  5. nittis

    nittis Постоялец

    Регистр.:
    21 апр 2009
    Сообщения:
    68
    Симпатии:
    29
    PHP:
    preg_split("![\.|\!|\?]+!i",$text)
    Разве при перечислении надо использовать знак "|" ? В результате будет разбивать и по нему тоже.

    Кроме того надо добавить к выражению последующие пробелы, табуляции и переносы строк, чтобы не думать об этом в вызываемой функции

    Я бы предложил вот такой вариант

    PHP:
    preg_split("![\.\!\?]+\s+!si"$text)
     
Статус темы:
Закрыта.