Php,moteur d'indexation
Résolu
samya3434
-
samya3434 -
samya3434 -
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
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
3 réponses
-
Salut,
Vous êtes sures que tout les liens de la page scanné contient bien (<a href="")...ce qui pourrait expliquer ce résultat...? -
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 -
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);