Bonjoir à tous !
Je rencontre un problème avec un script d'extraction de liens extrait depuis:http://www.sunyday.net/article-PHP [...] -page.html (il y a aussi les explications techniques concernant le script)
Ce script fonctionne bien sur certaines pages web mais pas sur les miennes, voici un extrait du code HTML d'une de mes pages:
Code :
- <tr><td><a class="ad_headline hover_red" href="/encrypt.php?ps=538427a7d0&dn=monsite.com.com&vu=eCa_W-5b-p-yALMj4%26num%3D4%26adurl%3Dhttp%3A%2F%2Fwww.tf1.fr%2Fe%2F%3Dca-dp_3ph_xml&cc=0.1&bc=0.1&sk=2945+4&qt=main&tg=5&ld=20">Liens1</a></td></tr>
- <a href="/encrypt.php?ps=538427a7d0&dn=monsite.com.com&vu=eCa_W-5b-p-yALMj4%26num%3D4%26adurl%3Dhttp%3A%2F%2Fwww.tf1.fr%2Fe%2F%3Dca-dp_3ph_xml&cc=0.1&bc=0.1&sk=2945+4&qt=main&tg=5&ld=20";<a>blabla</a>
|
Le problème (je pense), est que la forme des URL n'est pas http://....du coup, le script ne les prend pas et je n'arrive pas à le modifier (mes connaissances sont assez limites).
Et voici le code que j'utilise pour capturer les URLs:
Code :
- $URL = 'http://www.monsite.com/';
-
- // Retrieve URL informations
- $RegEx='(http:\/\/|HTTP:\/\/|https:\/\/|HTTPS:\/\/)([a-zA-Z.0-9-]*)([\/a-zA-Z.-_]*\/)';
- ereg($RegEx,$URL,$Values);
- $URL_Proto = $Values[1];
- $URL_Server = $Values[2];
- $URL_Folder = $Values[3];
-
- // Retrieve document & search for URLs
- $Document = file_get_contents($URL);
-
- $RegEx = '#<[aA](\s)*(href|HREF)(\s)*=(\s)*[\"|\'](.*?)[\"|\'](.*?)>#is';
- preg_match_all($RegEx,$Document,$Results,PREG_PATTERN_ORDER);
- foreach ($Results[5] as $Link)
- {
- if ( ereg(":",$Link) )
- {
- $RegEx = "#([a-zA-Z]*):#is";
- preg_match_all($RegEx,$Link,$ResultsProto,PREG_PATTERN_ORDER);
- $Protocol = strtoupper($ResultsProto[1][0]);
- if ( $Protocol == "HTTP" || $Protocol == "HTTPS" )
- echo $Link."\r\n";
- }
- else
- echo $URL_Proto.$URL_Server.$URL_Folder.$Link."\r\n";
- }
|
Que puis je faire pour que ça fonctionne ?
Merci à tous !
RedVivi
Message édité par redvivi le 16-07-2008 à 23:47:50