Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Скрипт обрезки предложений по количеству слов


Автор: viperson 8.3.2009, 15:16
Привет всем!! Помогите пожалуйста нубу. 
Задача выглядит так:

Есть текстовый файл с  предложениями на английском языке по 1-3 предложения в строке.

- Необходимо сначала осуществить перенос предложений по точке на новую строку и удаление строк менее 5 слов

- Необходимо отсеять предложения в отдельный файл с обрезкой исходных предложений  (задается) по количеству слов  или по количеству пробелов в предложении.

- Необходимо чтобы скрипт работал на denwer

Буду очень признателен!  smile 

Автор: Photon 8.3.2009, 23:02
Задача по разбивке на предложения не реализуема без лексического и грамматического анализа, что само по себе является достаточно сложной задачей..
Пример: предложение выглядит так - Mr. Doors will be что-то-там.
Из этого при простой разбивке по точкам получится два предложения, а должно получится одно.

А вообще 1-й пункт вашей задачи решается элементарно:

Код

$file = file_get_contents($file_path);
$str_arr = explode('.',$file);
for($i = 0; $i < count($str_arr);$i++)
     $tok = strtok($str[$i],' ');
     $j = 0;
     while($tok !== false) {
    $j++;
    $tok = strtok(' ');
     }
     if ($j < 5)
            $str_arr[$i] = '';
}
foreach($str_arr as $str)
   if(!empty($str)) {
       Тут куда-то кладем непустые строки
   }

Автор: viperson 8.3.2009, 23:35
я не поyял откуда скрипт знает из какого файла брать и куда ложить я так понямаю нужно указать скажем 2.txt 

Автор: _AXE_ 9.3.2009, 00:23
Нужно открыть книжку (коих куча в интернете) и найти самое элементарное - работа с файлами. Там будет сказано что нужно просто связать файловую переменную с каким-то файлом, кодом в 1 строчку...

Автор: Photon 9.3.2009, 01:10
Дык переменная $file_path там зачем? smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)