Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Как удалить дублирующие значения из массива? (php)
Новая тема
Ответить
цитата
29/09/07 в 13:18
Lamagro
Ситуация такая:
Есть массив урлов. Нужно сравнить домены этих урлов и если есть повторения - удалить один из них. То есть исключить повторения на доменном уровне.
Чего то в субботу вечером досямкать немогу
нид хелп
цитата
29/09/07 в 14:28
webboxxx
не проверял, но алгоритм примерно такой:
$urls = array(....массив урлов...);
$domains = array(); // пустой массив
$uniqurls = array();
foreach($urls as $url)
{
$domain = getDomainFromUrl($url); // функцию сам напиши
if(!in_array($domains,$domain)) // тут проверь порядок аргументов, точно не помню
{
$domains[] = $domain;
$uniqurls[] = $url;
}
}
цитата
29/09/07 в 15:02
Formator
Работает:
Код:
$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);
цитата
29/09/07 в 15:47
Sterx
Код:
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";
и уникалишь
цитата
29/09/07 в 16:11
Alexandur
зачем мучать реги?
http://www.php.net/function.parse-url
цитата
29/09/07 в 17:03
Formator
Баговая функция. Только домен выдирает верно - по тому же принципу, что и я привёл, только учитывает знаки ? и #, если нет слеша после домена, ну и логин-пароль, если есть авторизация.
цитата
29/09/07 в 17:27
Sterx
gimcnuk писал:
зачем мучать реги?
http://www.php.net/function.parse-url
у меня стоит на ВП плагин статистики, так эта функция багит раз в сутки где то, спотыкается
цитата
01/10/07 в 06:53
Lamagro
всем биг сэнкс!
Новая тема
Ответить
Эта страница в полной версии