C'est vraiment très facile à faire... ![]()
Voici comment :
[Vous devez être identifié pour voir le texte caché.]
Ah ah ah ah ah... ![]()
Alain AKA Arma
[Vous devez être identifié pour voir le texte caché.]
function verify_link($url,$link)
{
$handle = @fopen($url,"r");
if ($handle)
{
$contenu = file_get_contents($handle);
fclose($handle);
if (strstr($contenu,$link))
return true;
else
return false;
}
else
return false;
}Hors ligne
Tu vois que les vieux <edit Crazy> qui ont de l'âge </edit> ont de bonnes idées !
Bon, ma solution était plus bourrine, mais c'est normal : Si je suis à la campagne, c'es pour labourer !
Hors ligne
Ah ah ah ah ah...
Alain AKA Arma
PS : Avantage de cette facon de procéder :
Si le lien est enlevé ou que le site est inaccessible, le BL est supprimé...
Dès qu'il est remis, il est automatiquement réaffiché...
Sans aucune intervention humaine.
Le super pied !
PPS : Et c'est valide pour les liens cachés...
![]()
Hors ligne
Ne mets pas ca brut de fonderie,
C'est super lourd comme fonction...
essaies de coupler une heure où elle s'execute ta fonction par exemple entre 23h30 et 23h59
J'ai fais ca sur des sites SPIP,
les pages ne sont regénérés qu'à une certaine heure, ca allège drôlement et ca permet de zapper le 18h-22h
Hors ligne
C'est maintenant que tu t'en aperçois ? Mais c'est justement pour cela que je l'ai fait :
L'intelligence, c'est de savoir être fainéant... Pour éviter d'avoir trop de travail...
Hors ligne
Exemple entre 22het 23h
[Vous devez être identifié pour voir le texte caché.]
J'ai pas testé...
function verify_link($url,$link)
{
if (date('G')>=22 and date('G')<23)
{
$handle = @fopen($url,"r");
if ($handle)
{
$contenu = file_get_contents($handle);
fclose($handle);
if (strstr($contenu,$link))
return true;
else
return false;
}
else
return false;
}
}Hors ligne
Moi non plus...
Mais cela ne pose aucun PB...
La requête peut aussi être mise en cache...![]()
Alain AKA Arma
Hors ligne
Je ne sais pas trop comment fonctionne la class.cache si c'est d'elle que tu parle,
Visiblement elle zappe les requetes SQL, et le file_get_contents() mais c'est à vérifier...
Hors ligne
Non. Là, il faut gérer un cache soi-même !
De toute façon, pour ce genre de chose, pas besoin de SQL.
Un simple fichier texte dans lequel on écrit une table, c'est amplement suffisant !
Alain AKA Arma
Hors ligne
Salut.
N'y aurait il pas moyen de créer quelquechose permettant de vérifier une liste (je vais p'tet dire une connerie mais je penses que çà doit être faisable avec quelquechose de ce genre) :
[Vous devez être identifié pour voir le texte caché.]
Bon bien sûr il manque plein de paramètres pour associer les choix entre eux mais moi je suis une burne et je n'arrives à rien ![]()
Et comme mes partenaires sont tous situés dans un include... çà serait plus simple de tout mettre dedans, non ?
Pour ma part effectivement, même si je penses que faire la vérif à heure fixe est pas mal, je penses qu'un rand (ou je ne sais quoi) permettant une vérif par exemple 3 ou 4 fois par jour à heure aléatoire serait pas mal.
Avec tout çà si quelqu'un a la soluce je lui taille heuuuuuu... Je veux dire je lui tire... Mon chapeau ![]()
Zef
<?php
// Fonction de base
//
function verif_lien($partenaire,$lien)
{
$handle = @fopen($partenaire,"r");
if ($handle)
{
$cible = file_get_contents($handle);
fclose($handle);
if (strstr($cible,$lien))
return true;
else
return false;
}
else
return false;
}
// URL retour à vérifier
//
$lien = 'http://www.site.tld';
// Partenaires à contrôler
//
$partenaire[1] = array('http://www.url01.com/','Ancre 01','Infobulle 01');
$partenaire[2] = array('http://www.url02.com/','Ancre 02','Infobulle 02');
$partenaire[3] = array('http://www.url03.com/','Ancre 03','Infobulle 03');
$partenaire[4] = array('http://www.url04.com/','Ancre 04','Infobulle 04');
// Affichage si lien retour trouvé
//
if(verif_lien($partenaire,$lien))
{
echo '<a href="'.$partenaire[$url].'" target="_blank" title="'.$partenaire[$infobulle].'">'.$partenaire[$ancre].'</a>';
}
?>Hors ligne
Il faut faire ta liste sous la forme d'un fichier ou d'un tableau et appeller la proc dans une boucle for...
Soit la proc suivante :
[Vous devez être identifié pour voir le texte caché.]
C'était bien ça la question ?![]()
Alain AKA Arma
<?php
$table = array( array('http://www.gaydon.info/', 'http://forum.cigiema.fr', 'Alain Gaydon', 'Alain Gaydon - Directeur Artistique'),
array('http://www.cigiema.fr/', 'http://forum.cigiema.fr', 'Texte... ', 'Texte... '),
array('http://www.gaydon.info/', 'http://www.cigiema.fr', 'Texte... ', 'Texte... '),
array('http://www.gaydon.info/', 'http://forum.cigiema.fr', 'Texte... ', 'Texte... '));
for ($i = 0; $i <count($table) ; $i++)
If(verify_link($table[$i][0],$table[$i][1]))
echo '<a href="'.$table[$i][0].'" target="_blank" title="'.$table[$i][3].'">'.$table[$i][2].'</a>';
?>Hors ligne
Oui. Je pense que c'est l'idée, j'avais commencé à reprendre le principe du Ring.
Il ne me reste plus qu'à mettre en pratique, de façon qu'il n'y ait que 6 liens par ligne.
Merci
Hors ligne
Oui, tu as raison...
Mais le principe est bien là...
Il faut tester toutes les possibilités...
<a href="$valeur_lien <a target="[chaîne diverse]" href="$valeur_lien <a style="[chaîne diverse]" href="$valeur_lien <a style="[chaîne diverse]" target="[chaîne diverse]" href="$valeur_lien
Ou... Beaucoup plus simplement :
<a [chaîne diverse] href="$valeur_lien
En utilisant le REGEXP !
$a_xxx_href = '"/\<a[\ ]+.*[\ ]?href\=[\'."'".'|\"]/"';
Oui, c'est zarbi... Mais il y a une quote à insérer (et il ne faut pas se faire avoir) !
On testera donc la chaine (avec preg_match())
$chaine_a_tester = substr($a_xxx_href,0,strlen($a_xxx_href)-3).$valeur_lien.'/"'; if (preg_match($chaine_a_tester,$page_extraite_a_scanner_pour verif_presence_lien)) echo 'OK';
![]()
Alain AKA Arma
PS : Si c'est en commentaire, ce sera un peu plus pénible à détecter...
Par contre le NOFOLLOW est détectable par un [^nofollow]...
Mais je ne vais pas quand même tout écrire, hein ?
Il va donc falloir bosser un petit peu !...
Hors ligne
Allez, j'ai été sympa (c'est Noël)...
J'ai ajouté un peu de code dans mon Post précédent...![]()
Alain AKA Arma
NB : ATTENTION - C'est du sauvage brutal (pensé - apparté : les empiffrés de Calissons ne réfléchissent pas, c'est notoire) !
En effet, pour être "propre", la chaîne de REGEXP initiale est complète (avec "/ au début et /" à la fin).
Il faut y insérer la chaîne contenant le lien. La tronquer, ajouter le lien puis la terminer !
Pourquoi -3 alors que l'on n'enlève que deux caractères ?
Parce que strlen() retourne le nombre réel (1 à n) de caractères de la chaine...
Et que substr() compte les caractères à partir de 0 (le premier numéroté 0, le dernier strlen()-1).
Hors ligne
Tu peux mettre ce que tu veux comme délimiteur en début et fin d'un masque pour une regex, des / et / ou # et # ou encore `et `etc...
Peu importe l'essentiel est qu'ils soient présents...

Hors ligne
Oui, tout à fait (#, /, @, etc.)...
Mais il faut les refermer !![]()
Alain AKA Arma
Hors ligne
|
© 2006-2010 / A. G.☺ CiGi€M@®, 1997-2010 |
|
Reproduction totale ou partielle strictement interdite Contact : / |