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.


Information sur les mises à jour

Dernière mise à jour :

    13 Aout 2019
    fonctionnement du code vérifié

9 550  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  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    
                               
/*------------------------------*/
/*
Titre : Affiche une ancre de lien aléatoire et identique pour une meme url

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 tous les éléments d'un tableau ou dans un objet Countable
PHP 4, 5, 7 et 8
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    explode
Scinde une chaîne de caractères 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 en début et fin de chaîne
PHP 4, 5, 7 et 8

[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éresser

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.

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

  Les derniers scripts PHP / MySQL

WebCalendar 1.2.7

Script PHP / MySQL
Langue langue fr
Date  hier
Taille 2 Mo
Catégorie Calendriers

Web ERP Accounting 5.0.1

logo Web ERP Accounting
Langue langue us
Date  hier
Taille 69 Mo
Catégorie Logiciels

Dolibarr ERP 23.0.0

logo Dolibarr ERP
Langue langue fr
Date  hier
Taille 88 Mo
Catégorie Logiciels

Simple Machines Forum 2-1-7

logo Simple Machines Forum
Langue langue fr
Date  hier
Taille 4 Mo
Catégorie Forums

Forms Tools 3.1.1

Script PHP / MySQL
Langue langue en
Date  hier
Taille 11 Mo
Catégorie Formulaires

ProcessWire 3.0.255

logo ProcessWire
Langue langue fr
Date  hier
Taille 14 Mo
Catégorie CMS
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 550 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 8