Удалить лишних слова из строки в файле

Terys
На сайте с 28.03.2007
Offline
137
2784

Буду благодарен за скрипт на пхп удаления всех лишних слов в строке, которые идет после n слов в этой строке.

Пример строка:

Я очень люблю саночки

Нужно оставить 3 слова, скрипт удаляет последнее слово и оставляет

Я очень люблю

GR (https://rs.grnet.ru/add/) - реклама от 99 р.
P
На сайте с 19.03.2009
Offline
17
#1
Terys:
Буду благодарен за скрипт на пхп удаления всех лишних слов в строке, которые идет после n слов в этой строке.

Пример строка:
Я очень люблю саночки

Нужно оставить 3 слова, скрипт удаляет последнее слово и оставляет
Я очень люблю

Попробуйте так


preg_match_all('/^(([^\ ]+\ ){2}[^\ ]+).*$/m', $text, $strings);
print_r($strings[1]);

где $text = текст состоящий из строк.

Ну или функция для каждой отдельной строки:

function leave3words($string) {

preg_match('/^(([^\ ]+\ ){2}[^\ ]+).*$/', $string, $words);
echo $words[1];
}
Помогу с вёрсткой, html, css, js, jquery, php, mysql ($) icq 8938933 Быстрый, удобный и недорогой хостинг (http://sweb.ru/p17046) Виза в Великобританию (http://www.englishexpert.ru/velikobritaniya/viza/viza-v-velikobritaniu/)
juniorspecialistphp
На сайте с 08.08.2010
Offline
25
#2

Эх опередили меня :)

$n=3;

$str = 'Я очень люблю саночки мои любимые eeee';
$res=explode(" ",$str);
echo "<pre>"; print_r($res);
$res_str="";
for($i=0;$i<count($res);$i++){
if($i==$n){break;}
$res_str = $res_str.$res[$i]." ";
}

echo "res_str=".$res_str."<br>";

Пишу скрипты любой сложности на РНР. (http://elagin.su)
Terys
На сайте с 28.03.2007
Offline
137
#3

Спасибо!

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

juniorspecialistphp
На сайте с 08.08.2010
Offline
25
#4

//--чтение файла в массив
$file_array = file( "pastry.txt" );
//---перебираем массив с текстом файла
Foreach($file_array as $line){
echo $line."<br>";//нужная нам строка из файла
///-- здесь можно прицепить обработку строк
}
//---------------------------------
$file - путь к файлу
$line - строка, котор. пишем в файл
// дополним файл
function append_file($file, $line) {

if($f = fopen($file, 'a')) {
fputs($f, $line."\n");
fclose($f);
} else {
cout("Ошибка записи в файл <b>$file</b>", "red");
}

}

Можно почитать здесь про чтение и запись файлов в ПХП http://i-vd.org.ru/books/php/files.shtml

P
На сайте с 19.03.2009
Offline
17
#5
Terys:
Спасибо!
а как к этому прилепить ф-цию что бы фразы брались с моего текстовика, обрабатывались и сохранялись в другой текстовик?


function leave3words($string) {
preg_match('/^(([^\ ]+\ ){2}[^\ ]+).*$/', $string, $words);
return $words[1];
}

unset($text);
$strings = preg_split('/[\r\n]+/', file_get_contents('file.txt')); // Разбиваем текст из файла на строки
foreach($strings as $string) {
$text[] = leave3words($string); // Создаём массив строк по три слова в каждой строке
}
file_put_contents('file2.txt', implode("\r\n", $text)); // Записываем строки в файл

Где file.txt - файл откуда берём строки

file2.txt - куда записываем

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий