Affiche une ancre de lien aléatoire et identique pour une meme url

  Information

Dans le cadre d'un échange de lien il est utile de générer des liens avec une ancre aléatoire parmi plusieurs combinaisons de mots clé. L'ancre de lien est le texte cliquable d'un lien.

Pour éviter que le lien d'une page change à chaque affichage il suffit d'utiliser la longueur de l'url comme paramètre pour déterminer une valeur dans une liste. Ainsi pour une même url la valeur retournée sera toujours la même mais variera d'une page à l'autre.

La fonction prend donc en paramètre un tableau de valeurs et retourne une valeur pseudo aléatoire en fonction du nombre de caractères de l'url.

La première valeur du tableau sera toujours retournée pour la racine du site.

Le premier exemple utilise un tableau.

Le deuxième exemple utilise une chaîne de caractères dont les différentes expressions sont séparées par des slashs.

  code source classé dans  SEO - Référencement

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
                               
/*---------------------------------------------------------------*/
/*
Titre : Affiche une ancre de lien aléatoire et identique pour une meme url

URL : https://phpsources.net/code_s.php?id=452
Auteur : forty
Website auteur : http://www.toplien.fr/
Date édition : 05 Sept 2008
Date mise a jour : 13 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*---------------------------------------------------------------*/

function rand_for_url($tab) {
$index = (strlen($_SERVER['REQUEST_URI']) - 1) % count($tab);
return trim($tab[$index]);
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
                                
// exemple 1 : avec un tableau en entrée
$tab_ancre = array('ancre 1', 'ancre 2', 'ancre 3');
$ancre = rand_for_url($tab_ancre);
echo '<a href="http://www.example.com/">' . $ancre . '</a>';


// exemple 2 : avec une liste d'expressions séparées par des / dans une
// chaà®ne
$liste_ancre = 'ancre 1/ancre 2/ancre 3';
$ancre = rand_for_url(explode('/', $liste_ancre));
echo '<a href="http://www.example.com/">' . $ancre . '</a>';
?>

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
   array
Crée un tableau
PHP 4, 5, 7 et 8
   count
Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet
PHP 4, 5, 7 et 8
   echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
   explode
Coupe une chaîne en segments
PHP 4, 5, 7 et 8
   return
Retourne le controle du programme au module appelant.
PHP 4, 5, 7 et 8
   strlen
Calcule la taille d'une chaîne
PHP 4, 5, 7 et 8
   trim
Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
PHP 4, 5, 7 et 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[2]

  • avatar

    Forty

    16 Sept 2008 à 21:56

    Je l'utilise en ligne sans problèmes depuis quelques temps.

    ca marche quel que soit la taille du tableau.

  • avatar

    Nixi54

    07 Sept 2008 à 13:03

    Merci pour ce code avec une idée brillante car se servir de la longueur de l'url pour retrouver toujours les même titres dans les urls avec chaque pages différente fallait y penser

    ca bouillonne sec

    Tu as tester en ligne pour voir comment réagissent les moteurs? et si j'ai un tableau de 20 éléments ça fonctionne toujours?


 Autres snippets qui pourraient vous intéressez

Affiche 1 ligne d'un fichier aléatoirement avec PHP

Compatibilité : PHP 5, PHP 7, PHP 8

Simple script qui affiche une ligne prise au hasard dans un fichier texte.

Affiche le numéro de semaine ISO pour Windows

Compatibilité : PHP 5, PHP 7, PHP 8

Les utilisateurs de Windows ne pourront pas utiliser le spécificateur %V de strtotime(), voici une solution de remplacement.

Remplace toute les URL par un lien en dur

Compatibilité : PHP 5, PHP 7, PHP 8

URL liens - 2019 (maj) Ajoute la balise HTML a href a toute les urls d'un texte. 5 exemples sont fournis dans le code.

Vérifie l'existence d'1 lien dans une page cible

Compatibilité : PHP 5, PHP 7, PHP 8

Vérifie l'existence d''un lien sur une page cible, pouvant servir à un Web Crawler et vérifier vos Back Links.

Partager la meme session sur votre domaine et sous domaine

Compatibilité : PHP 5, PHP 7, PHP 8

Ce code permet à votre domaine et à vos sous domaines de partager la même session. Attention à ne pas mettre de texte, de html avant ce code.

* Requêtes exécutées avec Recherche Contextuelle
avatar

Forty

  05 Sept 2008

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    13 Aout 2019
    fonctionnement du code vérifié

9 505 Vues
Compatibilité du code
PHP 5, 7 et 8+
avatar