Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удалить одинаковые записи.
 
 автор: Бамси   (24.01.2007 в 17:39)   письмо автору
 
 

Этот код обрабатывает список.


ftp://anonymous:@kiarchive.relcom.ru
ftp://alexander:@miami.tele-space.net
ftp://anonymous:@ftp.netz.ru
ftp://anonymous:@files.cosmostv.by
ftp://anonymous:@mslu.by
ftp://javier:baboso@ftp.milennium.net
ftp://:@ftp://rwntug.quarta.msk.ru/WinUtil/Rar
ftp://domfalcon:la206s16@ftp.membres.lycos.fr
ftp://1:@bazalt1ru.71.com1.ru
ftp://:@80.76.67.12
ftp://:@ftp.fotolitosolari.it
ftp://:@ftp.nuovosafaripark.it
ftp://:@ftp.unioneparchi.info
ftp://:@ftp.muc.kochmedia.com
ftp://:@ftp.muc.kochmedia.com
ftp://:@ftp.nuovosafaripark.it
ftp://:@83.221.98.2
ftp://:@www.videobergamo.it
ftp://:@www.videobergamo.it


1) Не показывает записи где есть слово аноним.
2) Не показывает записи где IP.
3) Обрезает все до собаки, и показывает только хост.


<?php 
 $arr 
file("ftp.txt"); 
 for(
$i 0$i count($arr); $i++) 
 { 
    
preg_match("#(.*)(anonymous)(.*)#is"$arr[$i], $an); 
    if (empty(
$an[0]))
    {
       
preg_match("#(.*)+\.(.*)+\.(.*)+\.(.*)#is"$arr[$i], $ip);
       if (empty(
$ip[0]))
       {
          
preg_match("#@(.*)#is"$arr[$i], $ft);
          echo 
trim($ft[1])."<br />\n";
       }
    }   
 } 
?>


И Он выводит..


miami.tele-space.net
ftp.milennium.net
ftp://rwntug.quarta.msk.ru/WinUtil/Rar
ftp.membres.lycos.fr
bazalt1ru.71.com1.ru
ftp.fotolitosolari.it
ftp.nuovosafaripark.it
ftp.unioneparchi.info
ftp.muc.kochmedia.com
ftp.muc.kochmedia.com
ftp.nuovosafaripark.it
www.videobergamo.it
www.videobergamo.it


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

   
 
 автор: bronenos   (24.01.2007 в 18:17)   письмо автору
 
   для: Бамси   (24.01.2007 в 17:39)
 

Я попробую... спортивный интерес :)

$ftps = file ('ftp.txt');
foreach ($ftps as $ftp) {
 if (strpos ($ftp, 'anonymous'))
  continue;
 if (preg_match ('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}#is', $ftp))
  continue;

 preg_match ('#@(.*)$#is', $ftp, $addr);
 $list[] = $addr[1];
}

$list = array_unique ($list);
foreach ($list as $l)
 print $l.'<br>';

   
 
 автор: Бамси   (24.01.2007 в 18:26)   письмо автору
 
   для: bronenos   (24.01.2007 в 18:17)
 

Прикольно, в жизни бы не догадался :)
Только странно, он хотя $list = array_unique($list); а он всеровно не удаляет повторяющиеся записи.

   
 
 автор: Бамси   (24.01.2007 в 23:39)   письмо автору
 
   для: Бамси   (24.01.2007 в 18:26)
 

Вопрос в силе.

   
 
 автор: bronenos   (25.01.2007 в 00:29)   письмо автору
 
   для: Бамси   (24.01.2007 в 23:39)
 

Распечатайте пожалуйста мне массив который после моего кода выходит... может че не так...

   
 
 автор: cheops   (25.01.2007 в 00:40)   письмо автору
 
   для: Бамси   (24.01.2007 в 18:26)
 

Массив нужно отсортировать перед использованием array_unique().

   
 
 автор: Бамси   (25.01.2007 в 07:23)   письмо автору
 
   для: cheops   (25.01.2007 в 00:40)
 

ведь array_unique() помойму так же и сортирует массив?
Или я не понял.

   
 
 автор: bronenos   (25.01.2007 в 08:07)   письмо автору
 
   для: Бамси   (25.01.2007 в 07:23)
 

Он должен оставлять все без повторов...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования