Comment detecter un lien dans une page distante
20 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Comment detecter un lien dans une page distante
Bonjour,
J'essaye de detecter un lien dans une page distante mais celui ci n'ai trouvé que si l'url est exacte.
Dans le code ci-dessous, seul le lien -http://monsite.com/annuaire/generaliste-p1-27.html alors que je souhaiterais également pouvoir détecter -http://monsite.com .
Toutes suggestions sont les bienvenues !
Merci
J'essaye de detecter un lien dans une page distante mais celui ci n'ai trouvé que si l'url est exacte.
Dans le code ci-dessous, seul le lien -http://monsite.com/annuaire/generaliste-p1-27.html alors que je souhaiterais également pouvoir détecter -http://monsite.com .
- Code: Tout sélectionner
<?php
$page_source = $res_infos['url_retour'];
$lien_a_verifier = "http://monsite.com/annuaire/generaliste-p1-27.html";
$fp=@fopen($page_source,"r");
if($fp) {
while(!feof($fp)) {
$chaine .= fgets($fp,1024);
}
}
$masque = '#href="(.*?)"#i';
preg_match_all("$masque",$chaine,$out,PREG_SET_ORDER);
$i=-1;
$compte=0;
while ($i < count($out))
{
$i++;
// affiche tous les elements du tableau
// vous pouvez decocher la ligne ci dessus pour avoir tous les elements du tableau
//echo $out[$i][1];
if($out[$i][1] == $lien_a_verifier) $compte++;
}
if ($compte > 0 ) echo 'Le lien sur <a href="'.$page_source.'" target="_blank">'.$page_source.'</a> existe '.$compte.' fois';
else
{
echo 'pas de lien trouvé sur '.$page_source.'';
}
?>
Toutes suggestions sont les bienvenues !
Merci
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
Remplacer
if($out[$i][1] == $lien_a_verifier)
par
if(srtncmp(out[$i][1],$lien_a_verifier, $x))
où $x est la taille de la chaine http://www.monsite.com
if($out[$i][1] == $lien_a_verifier)
par
if(srtncmp(out[$i][1],$lien_a_verifier, $x))
où $x est la taille de la chaine http://www.monsite.com
Merci Jeviensderio mais je crains de ne pas avoir tout comprit ^^ !
J'ai une erreur:
J'ai donc remplacé la portion de code if($out[$i][1] == $lien_a_verifier) par:
Puis
et
Je n'ai absolument pas comprit le "où $x est la taille de la chaine -http://www.monsite.com".
J'aurrais peut etre du préciser mon petit niveau php
Merci
J'ai une erreur:
- Code: Tout sélectionner
Parse error: syntax error, unexpected '[' in /.....
J'ai donc remplacé la portion de code if($out[$i][1] == $lien_a_verifier) par:
- Code: Tout sélectionner
if(srtncmp(out[$i][1],$lien_a_verifier, $x))
Puis
- Code: Tout sélectionner
if(srtncmp(out[$i][1],$lien_a_verifier, $x));
et
- Code: Tout sélectionner
if(srtncmp(out[$i][1],$lien_a_verifier, $x)) $compte++;
Je n'ai absolument pas comprit le "où $x est la taille de la chaine -http://www.monsite.com".
J'aurrais peut etre du préciser mon petit niveau php
Merci
Merci FloBaoti
Bon, j'ai tout de meme une erreur:
..et sa me depasse
!
En faite ce que je veux faire, c'est vérifier si le lien partenaire est bien présent ...
Correspond à l'url de la page ou mon lien est censé etre.
Correspond à mon lien censé etre présent chez le partenaire.
En l'etat le code me retourne ok si l'url exacte dans la variable $lien_a_verifier est trouvé.
Je souhaiterais que le code me retourne également ok si $lien_a_verifier correspond à -http://monsite.com (sans /annuaire/generaliste-p1-27.html).
Bon, j'ai tout de meme une erreur:
- Code: Tout sélectionner
Fatal error: Call to undefined function srtncmp() in /home/..
..et sa me depasse
En faite ce que je veux faire, c'est vérifier si le lien partenaire est bien présent ...
- Code: Tout sélectionner
$page_source = $res_infos['url_retour'];
Correspond à l'url de la page ou mon lien est censé etre.
- Code: Tout sélectionner
$lien_a_verifier = "http://monsite.com/annuaire/generaliste-p1-27.html";
Correspond à mon lien censé etre présent chez le partenaire.
En l'etat le code me retourne ok si l'url exacte dans la variable $lien_a_verifier est trouvé.
Je souhaiterais que le code me retourne également ok si $lien_a_verifier correspond à -http://monsite.com (sans /annuaire/generaliste-p1-27.html).
et avec
- Code: Tout sélectionner
$lien_a_verifier = "http://example.com|http://example.com/annuaire/generaliste-p1-27.html";
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
L'erreur:
strncmp
et non pas srtncmp
Sorry!
strncmp
et non pas srtncmp
Sorry!
Leonick: J'ai éssayé et sa ne fonctionne pas.
rog: Je me suis documenté sur in_array et éssayé d'ajouter cette fonction à mon code mais sans succès
.
Jeviensderio:Avec strncmp je n'ai plus d'erreur mais sa ne fonctionne pas non plus.
Merci tout de meme.
rog: Je me suis documenté sur in_array et éssayé d'ajouter cette fonction à mon code mais sans succès
Jeviensderio:Avec strncmp je n'ai plus d'erreur mais sa ne fonctionne pas non plus.
Merci tout de meme.
rog a écrit:je presume que tu as fait un print_r du du buffer retourné par le preg_match_all pour effectuer une verification manuelle si ta chaine est bien dedans ?
rog
Faut pas présumer comme sa
Allez, direction www.manuelphp.com ...
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
Essayer:
Vérifier avant que $out[$i][1] contient bien l'url.
Noter aussi que le $ avait disparu avant le out.
- Code: Tout sélectionner
$x = strlen("http://www.nomdusite.com");
if(strncmp($out[$i][1],$lien_a_verifier, $x) == 0) $compte++;
Vérifier avant que $out[$i][1] contient bien l'url.
Noter aussi que le $ avait disparu avant le out.
me suis planté, le buffer n'est peut etre pas exploitable avec in_array
petite revision logique de ton script qui a l'air bien, mais si le but est de savoir si le lien existe et si l'on n'a pas besoin de savoir si il est répété, on peut le simplifier
petite revision logique de ton script qui a l'air bien, mais si le but est de savoir si le lien existe et si l'on n'a pas besoin de savoir si il est répété, on peut le simplifier
<?php
$page_source = $res_infos['url_retour'];
$lien_a_verifier = "http://monsite.com/annuaire/generaliste-p1-27.html";
### on doit d'abord initialiser la variable avant de concatener
$chaine = '';
$fp=@fopen($page_source,"r");
if($fp) {
while(!feof($fp)) {
$chaine .= fgets($fp,1024);
}
}
$masque = '#href="(.*?)"#i';
preg_match_all("$masque",$chaine,$out,PREG_SET_ORDER);
### si il y a un match, il sera dans le premier element retourné, donc la boucle est inutile
### $out[0][0] doit donc contenir $chaine
### moi j'ai confiance en stristr
if(stristr($out[0][0],$lien_a_verifier) )
{
echo "Le lien sur <a href=$page_source target=_blank>$page_source</a> existe ";
}
else
{
echo 'pas de lien trouvé sur '.$page_source;
}
?>
20 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Transcript du chat interview d'Exalead sur WebRankInfo
- Constatations sur le PageRank de Google
- Comment bien choisir sur quelle page un partenaire doit vous faire un lien
- Les meilleurs backlinks externes
- Formation référencement
- Voilà comment fonctionne réellement rel=nofollow
- Google propose en option un lien pour supprimer un site des résultats
- Comment faire des liens en dur dans son annuaire
- Réflexions sur le fameux rel=nofollow
- Comment interroger une Base de donnée distante
- [SPAM] comment les détecter ?
- débutant:comment détecter visite
- Comment detecter le robot Adsense ?
- Comment détecter Google Bot en php
- comment googlebot peut il detecter le cloaking ?
- Comment detecter une redirection 302
- Comment détecter le robot Yahoo! Slurp
- comment détecter des liens de réciprocité rompus ?
- Comment détecter une redirection 301 (ou autre)??
- Question de débutant: Comment détecter l'url en php?
- Comment détecter le passage d'un robot en PHP ?
- comment détecter les pages similaires sur le web?
- [Gestion de newsletter] Comment détecter les fausses adresses email ?
- Comment détecter les premiers petits problèmes d'un site.
- Test de lien (type de redirection)
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs). - Calcul du taux de liens vers des pages internes
Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés. - Recherche de citations d'un site en texte brut
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





le forum