|
| Дата |
|
USD/RUB | 88.6852 | BTC/USD | 67927.8075 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
22.04.2011, 20:31
|
Start Post: Удаление дублей по доменному имени.
|
$ $ $
Регистрация: 29.12.2007
Сообщений: 323
Бабло: $118140
|
Подскажите чем можно удалить дубли по доменному имени.
__________________
|
|
|
22.04.2011, 21:59
|
#12
|
jaros
Регистрация: 10.05.2009
Адрес: Киев
Сообщений: 1,498
Бабло: $221845
|
Цитата:
Сообщение от incognito
PHP код:
<?php
###########################################
## удаление дублей по хосту subdomain.domain.ext,
## те
## subdomain.domain.ext и subdomain1.domain.ext
## будут считаться уникальными
###########################################
set_time_limit(300);
$urls = file('urls.txt',FILE_IGNORE_NEW_LINES);
$unic_urls = array();
foreach ($urls as $value){
$url_parts = parse_url($value);
if (strpos($url_parts['host'],'www.')==0) $domain = str_replace('www.','',$url_parts['host']);
if (!array_key_exists($domain,$unic_urls)){
$unic_urls[$domain] = $value;
}else{
$non_unic_urls[] = $domain.'=>'.$value;
}
}
file_put_contents('unic-urls.txt',implode("\r\n",$unic_urls));
sort($non_unic_urls);
file_put_contents('non-unic-urls.txt',implode("\r\n",$non_unic_urls));
?>
|
а разве array_unique не справится?код в пару строк...
|
|
|
22.04.2011, 22:06
|
#13
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Цитата:
Сообщение от jarosek
а разве array_unique не справится?код в пару строк...
|
по умолчанию я предположил, что в исходнике не уникальные урлы, а урлы с одинаковым хостом, но разным путем (например один форум, но разные топы).
|
|
|
22.04.2011, 22:47
|
#14
|
jaros
Регистрация: 10.05.2009
Адрес: Киев
Сообщений: 1,498
Бабло: $221845
|
Цитата:
Сообщение от incognito
по умолчанию я предположил, что в исходнике не уникальные урлы, а урлы с одинаковым хостом, но разным путем (например один форум, но разные топы).
|
ну он же написал что по домену
вобщем вот по домену
PHP код:
<?php
$file_domens = file('domains.txt');
$unique = array_unique($file_domens);
foreach($unique as $key){
$open = fopen('unique_domains.txt',"a+");
fwrite($open,$key);
fclose($open);
}
?>
это если в списке тупо домены, тоесть одного вида url.com или www.url.com
Последний раз редактировалось jarosek; 22.04.2011 в 22:56.
|
|
|
22.04.2011, 22:56
|
#15
|
Senior Member
Регистрация: 03.03.2008
Сообщений: 2,274
Бабло: $263105
|
ну я например имел в виду то же, что и инкогнито
есть список урлов, в которых присутствуют одинаковые домены, в результате должны получить список урлов без повторов доменов
jarosek, это не по домену, а просто по уникальной строке
incognito, спасибо
|
|
|
22.04.2011, 22:56
|
#16
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Цитата:
Сообщение от jarosek
ну он же написал что по домену
вобщем вот по домену...
|
тогда бы он скорее назвал уникально по строке
и "\n" лишнее
опоздал бл...
|
|
|
22.04.2011, 22:58
|
#17
|
jaros
Регистрация: 10.05.2009
Адрес: Киев
Сообщений: 1,498
Бабло: $221845
|
Цитата:
Сообщение от incognito
тогда бы он скорее назвал уникально по строке
и "\n" лишнее
|
ага, я просто не понял толком какого вида список думал у него простая задача...
лексик, обновил пост
про \n завтыкал, убрал когда увидел)
|
|
|
23.04.2011, 07:48
|
#18
|
$ $ $
Регистрация: 29.12.2007
Сообщений: 323
Бабло: $118140
ТС -->
|
ТС
Всем спасибо
__________________
|
|
|
23.04.2011, 10:48
|
#19
|
Директор Тольятти
Регистрация: 08.05.2010
Сообщений: 754
Бабло: $116155
|
попробуй это там сервисе имеется удаление повторов
|
|
|
23.04.2011, 16:41
|
#20
|
Senior Member
Регистрация: 03.09.2010
Сообщений: 827
Бабло: $99806
|
Цитата:
Сообщение от jarosek
ну он же написал что по домену
вобщем вот по домену
PHP код:
<?php
$file_domens = file('domains.txt');
$unique = array_unique($file_domens);
foreach($unique as $key){
$open = fopen('unique_domains.txt',"a+");
fwrite($open,$key);
fclose($open);
}
?>
это если в списке тупо домены, тоесть одного вида url.com или www.url.com
|
тогда уж лучше вот так
PHP код:
<?php
$file_domens = file('domains.txt');
$unique = array_unique($file_domens);
$open = fopen('unique_domains.txt',"a+");
foreach($unique as $key){
fwrite($open,$key);
}
fclose($open);
?>
|
|
|
|