есть список ссылок примерно 1кк формат http://site.ru/newthread.php?do=newthread&f=46 http://site1.ru/a/b/c/d.php http://site2.ru/bb/1.html http://site2.ru/ нужно отрезать все до первого / тоесть вот так http://site.ru/ http://site1.ru/a/b/c/ http://site2.ru/bb/ http://site2.ru/ подскажите чем это можно сделать?
PHP: <?php $file=file("links.txt"); //файл с ссылками $f=fopen("res.txt", "a+"); foreach($file as $url){ fwrite($f, substr($url, 0, strrpos($url, '/')+1)."\n"); } fclose($f); ?>
снова прлблема теперь нужно обрезать все ссылоки и оставит только домен чем можно? http://site.ru/newthread.php?do=newthread&f=46 http://site1.ru/a/b/c/d.php http://site2.ru/bb/1.html http://site2.ru/ сделать http://site.ru/ http://site1.ru/ http://site2.ru/ http://site2.ru/
этот скрипт обрезает до слеша нужный уже нашел обрезает все оставляет только домен PHP: <?php $data=@file("./data.txt"); $i=0; while($i<count($data)){ $buff.="http://".trim(reset(explode("/",str_replace("http://","",$data[$i]))))." "; $i++; } if(@file_put_contents("./data.txt",trim(implode("\r\n",array_unique(explode(" ",$buff))))))echo "данные успешно записаны в файл"; else echo "произошла ошибка! файл data.txt должен иметь chmod 777!"; ?> в папке дожен быть файл data.txt с списком урлов
Вот проще PHP: <?php $file=file("links.txt"); //файл с ссылками $f=fopen("res.txt", "a+"); foreach($file as $l){ $r=parse_url($l); fwrite($f, "http://".$r[host]."\n"); } fclose($f); ?>