|
|
|
| http://softtime.ru/forum/addtheme.php?id_forum=1
http://softtime.ru/forum/addtheme.php?id_forum=1
http://softtime.ru/forum/addtheme.php?id_forum=1
http://denwer.ru/
http://denwer.ru/
http://denwer.ru/
посоветуйте как сделать что бы после обработки было так
softtime.ru
http://softtime.ru/forum/addtheme.php?id_forum=1
http://softtime.ru/forum/addtheme.php?id_forum=1
http://softtime.ru/forum/addtheme.php?id_forum=1
denwer.ru
http://denwer.ru/
http://denwer.ru/
http://denwer.ru/ | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(16.02.2008 в 17:55)
| | А если будут перемешаны - повторять или группировать? | |
|
|
|
|
|
|
|
для: bronenos
(16.02.2008 в 18:15)
| | Групировать, ума не приложу как можно зделать, | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(16.02.2008 в 18:40)
| | Что не у кого нет никаких предложений | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(16.02.2008 в 17:55)
| | Самый "дубовый" вариант - записать в БД и работать ее средствами. | |
|
|
|
|
|
|
|
для: Киналь
(16.02.2008 в 22:11)
| | Наверно вы меня не поняли, ссылок может быть много по две и т.д.
ВВел я в форму таким образом
http://softtime.ru/forum/index.php?id_forum=1
http://softtime.ru/forum/index.php?id_forum=2
http://softtime.ru/forum/index.php?id_forum=3
http://torrents.net.ua/=2
http://torrents.net.ua/=10
http://torrents.net.ua/=112
http://torrents.net.ua/=45
http://huh.net.ua/index
и должно получится так
softtime.ru
http://softtime.ru/forum/index.php?id_forum=1
http://softtime.ru/forum/index.php?id_forum=2
http://softtime.ru/forum/index.php?id_forum=3
torrents.net.ua
http://torrents.net.ua/=2
http://torrents.net.ua/=10
http://torrents.net.ua/=112
http://torrents.net.ua/=45
huh.net.ua
http://huh.net.ua/index | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(16.02.2008 в 22:26)
| | Ладно давайте по другому.
у нас есть строка
<?php
$linki = "http://softtime.ru/forum/index.php?id_forum=1 \n http://softtime.ru/forum/index.php?id_forum=2 \n http://buum.ru/forum/index.php?id_forum=3";
$arr_url = explode("\n", $linki );
// получилось так
$arr_url[0] ="http://softtime.ru/forum/index.php?id_forum=1";
$arr_url[1] ="http://softtime.ru/forum/index.php?id_forum=2";
$arr_url[2] ="http://buum.ru/forum/index.php?id_forum=3";
// надо вывести вот так:
// softtime.ru
// http://softtime.ru/forum/index.php?id_forum=1
// http://softtime.ru/forum/index.php?id_forum=2
// buum.ru
// http://buum.ru/forum/index.php?id_forum=3
?>
|
| |
|
|
|
|
|
|
|
для: Алексей Рябченко
(16.02.2008 в 23:18)
| | Вероятно, сперва нужно решить частную задачу.
Как по строке http://softtime.ru/forum/index.php?id_forum=1
получить строку softtime.ru
Для этого, кстати, есть стандартная функция. Если лень писать самому. http://ru2.php.net/parse_url | |
|
|
|
|
|
|
|
для: Киналь
(16.02.2008 в 22:11)
| | БД здесь не при чем совершенно. | |
|
|
|
|
|
|
|
для: Trianon
(16.02.2008 в 23:49)
| | Та я то знаю что с этой мне работать,
Тока как и куда и перед чем и после чего мне ее ставить | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(17.02.2008 в 00:25)
| | Логика такая:
1) Из всей массы линков, выделить адреса сайтов.
2) Убрать дубликаты адресов, оставить по одному адресу для каждого сайта.
3) Далее, выбирая по-отдельности каждый адрес, выискивать ссылки, начинающиеся с такого же адреса.
Здесь нужно подумать.. от балды что-то не получается реализовать. | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(17.02.2008 в 00:25)
| |
<?php
$links = "http://softtime.ru/";
preg_match_all('#([\'"])(http://[^\\\'"]+)(\\1)#', file_get_contents($links), $out);
$links = array_unique($out[2]);
sort($links);
$last = '';
foreach($links as $link)
{
$prefs = parse_url($link);
if($last != $prefs['host'])
echo "<br/><b>".($last=$prefs['host'])."</b><br/>";
echo "$link<br/>";
}
?>
|
counter.nn.ru
http://counter.nn.ru/?13891
http://counter.nn.ru/cgi-bin/counter.cgi?13891
top100-images.rambler.ru
http://top100-images.rambler.ru/top100/banner-88x31-rambler-gray2.gif
top100.rambler.ru
http://top100.rambler.ru/top100/
www.softtime.biz
http://www.softtime.biz/cd/index.php
http://www.softtime.biz/company/about.php
http://www.softtime.biz/company/contacts.php
http://www.softtime.biz/company/service.php
http://www.softtime.biz/dizign/about.php
http://www.softtime.biz/dizign/about3d.php
http://www.softtime.biz/dizign/portfolio.php
http://www.softtime.biz/reclame/index.php
http://www.softtime.biz/soft/about.php
www.st-hosting.ru
http://www.st-hosting.ru
www.yandex.ru
http://www.yandex.ru/cy?base=0&host=www.softtime.ru
http://www.yandex.ru/cycounter?www.softtime.ru
|
PS. Сильно сомневаюсь, что это пойдет Вам на пользу... :( | |
|
|
|
|
|
|
|
для: Trianon
(17.02.2008 в 01:53)
| | помогли вы очень сильно, вот смотрите почему
я ввожу в форму кучу ссылок для скачивания файла с разных серверов. и результат.
Вот как еще получилось реализовать
привожу полный код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
</head>
<body>
<form action="index.php" method="post">
<textarea name="link" cols="70" rows="10"></textarea>
<input name="go" type="submit" value="Отправить">
</form>
<?php
if (isset($_POST['link'])) {$link = $_POST['link'];}
$url = "$link";
$arr_url = explode("\n", $url);
if(isset($_POST['go'])){
if(count($arr_url) == 1){
$url_edit = parse_url($url);
echo "[url=".$url."]".$url_edit[host]."[/url]";
}elseif(count($arr_url) > 1){
$url_n = parse_url($url);
$arr = parse_url($arr_url[0]);
$arr2 = parse_url($arr_url[1]);
if($arr[host] == $arr2[host]){
for ($i = 0; $i < count($arr_url); $i++) {
$url_edit = parse_url($arr_url[$i]);
if($lastfield != $url_edit[host])
echo "<br>".($lastfield = $url_edit[host]). "<br>";
echo "| [url=".$arr_url[$i]."]part".++$a."[/url] ";
} echo "|";
}else{
for ($i = 0; $i < count($arr_url); $i++) {
$url_edit = parse_url($arr_url[$i]);
if($lastfield != $url_edit[host])
//echo "<br>".($lastfield = $url_edit[host]). "<br>";
echo "| [url=".$arr_url[$i]."]".$url_edit[host]."[/url] ";
} echo "|";
}
}
}
/
//if($lastfield != $row['name'])
// echo "<br>".($lastfield = $row['name']). "<br>";
// echo $row['linka']."<br>";
//=================================================
}
?>
</body>
</html>
|
попробуйте все ок | |
|
|
|
|
|
|
|
для: Алексей Рябченко
(17.02.2008 в 03:17)
| |
<?php
$links = "http://softtime.ru/";
preg_match_all('#([\'"])(http://[^\\\'"]+)(\\1)#', file_get_contents($links), $out);
$links = $out[2];
$links = array_unique($links);
sort($links);
$last = '';
foreach($links as $link)
{
$prefs = parse_url($link);
$hosts[$prefs['host']][] = $link;
}
foreach($hosts as $host => $links)
{
if(count($links) == 1)
echo "<br/><b><a href=\"$links[0]\">$host</a></b>";
else for($num = 1, print("<br/><b>$host</b>")
; $num <= count($links); $num++)
echo " <a href=\"${links[$num-1]}\">$num</a>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(17.02.2008 в 11:58)
| | Сегодня целый день сидел питался понять. неа непонял.
что делает вот эта строка
<?php
preg_match_all('#([\'"])(http://[^\\\'"]+)(\\1)#', file_get_contents($links), $out);
//а еще точенее что происходит в
preg_match_all('#([\'"])(http://[^\\\'"]+)(\\1)#',
// а затем
file_get_contents($links), $out);
?>
|
| |
|
|
|
|
|
|
|
для: Алексей Рябченко
(17.02.2008 в 18:39)
| | В тексте скаченной страницы file_get_contents($links) с помощью регулярного выражения #([\'"])(http://[^\\\'"]+)(\\1)# ищутся все ссылки и заносятся в массив $out.
Рег. выражение на словах примерно: "http://", после которой обязательно несколько "букв", отличных от кавычек и апострофов, и всё это в тексте должно находиться внутри кавычек (или апострофов). | |
|
|
|