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    
 21    
 22    
                               
<?php
/*---------------------------------------------------------------*/
/*
    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 à 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    
 13    
 14    
 15    
                                
<?php
    // 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

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

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

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

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

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

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.

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

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é

8 919 Vues
Compatibilité
PHP 5, 7 et 8+
avatar