Vous êtes ici Codes PHP et MySQL > URL > Afficher un texte de lien aléatoire mais toujours...

 

Afficher un texte de lien aléatoire mais toujours identique pour une même url

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.
 
forty
Site de l'auteur voir
[23] sources en PHP voir
Code vu 4987 fois
Enregistré le 05 Sept 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Afficher un texte de lien aléatoire mais toujours identique pour une même url
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Afficher un texte de lien aléatoire mais toujours...      */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts452-PHP.htm              */
/* Auteur         : forty                                                     */
/* Date édition   : 05 Sept 2008                                              */
/* Website auteur : http://www.toplien.fr/                                    */
/*                                                                            */
/******************************************************************************/

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

// 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

: Compte le nombre d'éléments d'un tableau ou le nombre de propriétés...
: Calcule la taille d'une chaîne - (PHP 4, PHP 5)
: - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Coupe une chaîne en segments - (PHP 4, PHP 5)
Commentaires
merci pour ce code avec une idée brillante exclaim car se servir de la longueur de l'url pour retrouver toujours les meme titres dans les urls avec chaque pages differente fallait y penser

ca bouille sec biggrin

tu as tester en ligne pour voir comment réagissent les moteurs? et si j'ai un tableau de 20 éléments ca fonctionne toujours?
 
Je l'utilise en ligne sans problèmes depuis quelques temps.

ca marche quel que soit la taille du tableau.
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

URL

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité