Ciao a tutti,
sto utilizzando uno script che, tra le altre cose, mi permette di trovare i link contenuti in una pagina e di salvarli in un file. Il problema è che mi salva solo la parte che scritta sul codice HTML vale a dire solo la parte scritta tra le "" di href.
Se ad esempio analizzo la pagina http://www.miosito.com e trovo un link nel quale è scritto solo href="info.html" lo script mi salva solo info.html.
Io vorrei invece riuscire a risalire allo script completo (http://www.miosito.com/info.html).
Questo è il codice:
esiste un modo per ottenere il link assoluto oppure per fare in modo che ignori tutti i link che non lo sono?codice:$file_handle = fopen("../db/url_segnalati.txt", "rb"); function getUrlFromHTML($url) { $xml = new DOMDocument(); @$xml->loadHTMLFile($url); $links = array(); foreach($xml->getElementsByTagName('a') as $link) { $links[] = array('url' => $link->getAttribute('href'), 'text' => $link->nodeValue); } return $links; } while ($line_of_text = fgets($file_handle)) { $parts = explode(" | ", $line_of_text); foreach($parts as $sito){ $arr = getUrlFromHTML($sito); for ($i=0;$i<count($arr);$i++) { $write=fopen ("../db/url_segnalati.txt","a+"); $con =fwrite ($write, " | ".$arr[$i]["url"]); $tags = get_meta_tags($arr[$i]["url"]); $path_parts = pathinfo($arr[$i]["url"]); $contents = file_get_contents($arr[$i]["url"]); preg_match ("/<title>([^`]*?)<\/title>/", $contents, $matches_title); $write=fopen ("wb_desc/".$path_parts['basename'].".txt","w+"); $con =fwrite ($write, "<url>".$path_parts['basename']."</url><titolo>".$matches_title [1]."</titolo><descrizione>".$tags['description']."</descrizione>"); } } }
Grazie in anticipo dell'aiuto!

Rispondi quotando