SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 29/09/07 в 13:18 |
Ситуация такая:
Есть массив урлов. Нужно сравнить домены этих урлов и если есть повторения - удалить один из них. То есть исключить повторения на доменном уровне.
Чего то в субботу вечером досямкать немогу
нид хелп
|
|
Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!
|
0
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 29/09/07 в 14:28 |
не проверял, но алгоритм примерно такой:
$urls = array(....массив урлов...);
$domains = array(); // пустой массив
$uniqurls = array();
foreach($urls as $url)
{
$domain = getDomainFromUrl($url); // функцию сам напиши
if(!in_array($domains,$domain)) // тут проверь порядок аргументов, точно не помню
{
$domains[] = $domain;
$uniqurls[] = $url;
}
}
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 29/09/07 в 15:02 |
Работает:
Код: |
$urls=array("http://google.com/1.html","google.com/2.html","http://yahoo.com","yahoo.com/3.html");
foreach ($urls as $url)
{
list($domain,)=explode("/",strstr($url,"http://")?str_replace("http://","",$url):$url);
$domains[$domain]?null:$domains[$domain]=$url;
}
print_r($domains);
|
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 29/09/07 в 15:47 |
Код: | function strip_url_down($the_url) {
ereg("^http://w*\.*(.+)\\\?",$the_url,$regs);
$new = explode("/",$regs[1]);
$final_url = $new[0];
$levels = explode(".",$final_url);
if(sizeof($levels)==4) $final_url = $levels[1].".".$levels[2].".".$levels[3];
elseif(sizeof($levels)==3) $final_url = $levels[1].".".$levels[2];
elseif(sizeof($levels)==2) $final_url = $levels[0].".".$levels[1];
return $final_url;
} |
достает доменное имя из пути
и array_unique
удаляет дублирующие значения из массива
то есть собираешь массив
array['full_url']="url";
и уникалишь
|
|
|
|
С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970
|
Добавлено: 29/09/07 в 16:11 |
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 29/09/07 в 17:03 |
Баговая функция. Только домен выдирает верно - по тому же принципу, что и я привёл, только учитывает знаки ? и #, если нет слеша после домена, ну и логин-пароль, если есть авторизация.
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 29/09/07 в 17:27 |
у меня стоит на ВП плагин статистики, так эта функция багит раз в сутки где то, спотыкается
|
|
|
|
SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 01/10/07 в 06:53 |
всем биг сэнкс!
|
|
Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!
|
0
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |