Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление строки... В которой найдено совпадение... 
:(
    Опции темы
immax
Дата 17.8.2005, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Чегой-то не могу изловчиться...
Нужно сделать следующее:
1. Есть некий файл. В нём есть кое-какие записи...
2. Мне нужно найти в этом файле совпадение со значением переменной $match (оно уникально).
3. После этого удалить всю строку и убрать разрыв...
Т.е. было:
Код

text 1234 text
text 2314 text
text 4312 text

После выполнения скрипта с $match=2314 стало:
Код

text 1234 text
text 4312 text

А потом опять выполнили уже с $match=4312 стало:
Код

text 1234 text

Ну и т.д... Как удалить всю строку, где найдено совпадение с $match, вообще не соображаю...
--------------------
Would yo kindly...?
PM MAIL   Вверх
Mal Hack
Дата 17.8.2005, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261




Код

<?php

$f_arr = file( "file.txt" );

for( $i = 0 ; $i < count( $f_arr ) ; $i++ )
  {  
    if( strpos( $f_arr[$i] , $_GET['match'] );  
     {  unset( $f_arr[$i] );  }
  }

$f = fopen( "file.txt" , "w" );

for( $i = 0 ; $i < count( $f_arr ) ; $i++ )
  {  fwrite( $f , $f_arr[$i] . "\n" );  }

close($f);

?>

В роли strpos может быть и регулярка.
PM ICQ   Вверх
immax
Дата 18.8.2005, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Спасибо большое... Побегу химичить!!! smile
--------------------
Would yo kindly...?
PM MAIL   Вверх
immax
Дата 18.8.2005, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Не работает... Хоть об стену головой smile
Подскажи пожалуйсто, как узнать номер строки, где было найдено совпадение- дальше я сам справлюсь...
Слаб я в циклах...

Это сообщение отредактировал(а) immax - 18.8.2005, 19:44
--------------------
Would yo kindly...?
PM MAIL   Вверх
Mal Hack
Дата 18.8.2005, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Как проявляется это "неработает" ?
PM ICQ   Вверх
immax
Дата 18.8.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Ну... Куча ошибок синтаксиса, а вроде всё правильно!!! Я и альтернативно переписывал... То пишет, мол де тут не должно быть ;, то {, то то :...
Удалить строку по номеру я-таки смог... А вот по совпадению- никак... smile
Блин, а так хочется автоматизации...
--------------------
Would yo kindly...?
PM MAIL   Вверх
Mal Hack
Дата 18.8.2005, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Перепеши условие так:
Код

if( strpos( $f_arr[$i] , $_GET['match'] ) !== FALSE )

PM ICQ   Вверх
immax
Дата 19.8.2005, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Спасибо большое... Попробую... Бум надеяться заработает... smile
--------------------
Would yo kindly...?
PM MAIL   Вверх
Song
Дата 19.8.2005, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Код
$source_массив = ... 
sort($source_массив);

$old_слово = "";
$массив = массив();

Цикл {$source_массив as $текущее_слово) {

  ЕСЛИ ($текущее_слово <> $old_слово ) 
  {
    $массив[] = $текущее_слово;
  }

$old_слово = $текущее_слово;

}

unset($source_массив);
$source_массив = $массив;

Добавлено @ 09:28
ой, я не про то :)))

ну ладно, стирать не буду раз написал :)

Я написал выборку уникальных строк.

Это сообщение отредактировал(а) Song - 19.8.2005, 09:27


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
immax
Дата 19.8.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Код

<?php    
$f_arr = file( "file.txt" );    
for( $i = 0 ; $i < count( $f_arr ) ; $i++ )    
  {    
if( strpos( $f_arr[$i] , $_GET['match'] ) !== FALSE )    
     {  unset( $f_arr[$i] );  }    
  }    
$f = fopen( "file.txt" , "w" );    
for( $i = 0 ; $i < count( $f_arr ) ; $i++ )    
  {  fwrite( $f , $f_arr[$i] . "\n" );  }    
close($f);    
?>


Оно мне весь файл убило. smile Оставило лишь пробел...
--------------------
Would yo kindly...?
PM MAIL   Вверх
Mal Hack
Дата 19.8.2005, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Поиграйся с условиями, замени на preg_match

PM ICQ   Вверх
immax
Дата 19.8.2005, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: 1
Всего: 2



Ничё толкового не выходит...
А можно:
1. Я ввожу этот уникальный номер.
2. Скрипт ищет совпадение в файле file.txt
3. По нахождении совпадения скрипт выдаёт номер строки, в которой совпадение
было найдено так, чтобы переменная $pagenum "заимела" значение, равное номеру этой строки.
А дальше удаление по номеру строки я сам организую...
Буду очень благодарен!!!
--------------------
Would yo kindly...?
PM MAIL   Вверх
Mal Hack
Дата 19.8.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



immax велосипед это. Составь правильный поиск и не парься.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.