Php,moteur d'indexation

Résolu/Fermé
samya3434 - Modifié par irongege le 3/05/2012 à 21:12
 samya3434 - 3 mai 2012 à 22:55
Bonjour,
mon objectif et de récupérer et affichier touts les liens hypertextes d'une page html , pour ça mon code est le suivant:
<?php

if (isset($_POST['search']))
{

$_POST['search'] = htmlspecialchars($_POST['search']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$src = file_get_contents($_POST['search']);
//for($i=0; $i< 10; $i++){
$out=array();
preg_match_all('!<a href="(.+)"!isU', $src, $out);


echo ('cette page contient les 10 premiers liens suivant :<br/>');

for ($i = 0; $i < 10; $i++) {


echo (' '.$out[1][$i]. '<br/>');


//$_result[i]=$out[1][$i];
}

}

?>
le problème c'est que ce code ne récupère pas les liens hypertextes de toutes les pages sauf quelques une à savoir google ...

Aidez moi SVP



A voir également:

3 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
3 mai 2012 à 11:34
Salut,

Vous êtes sures que tout les liens de la page scanné contient bien (<a href="")...ce qui pourrait expliquer ce résultat...?
0
Oui c'est vrai qu'il existent d'autres liens qui n'ont pas la meme forme que <a href=..

ça me sera très utile si vous connaissez une façon pour récupérer tous les liens de n'importe quelle page html ou web
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
3 mai 2012 à 20:34
Je pense qu'il faut changer le masque et faire une recherche sur le "http" mais je n'en suis pas sûre non plus .
preg_match_all('!http://(.+)!isU', $src, $out); 

ou
$motif='#http://(.*?) #is';
preg_match_all($motif,$src,$out);
0
j'ai essaié celà mais ça n'as pas marche , désolée..
main en fait j'ai trouve une autre méthode pour le faire à l'aide de la bibliothèque simple html dom ^^
0