Ce script est basé sur un fichier texte nommé "mescitations.txt". Il contient les citations, une par ligne, encadrées par les balises "blockquote" d’ouverture et de fermeture. Ce fichier est déposé à la racine du site. A l’intérieur, des balises "cite" permettent de citer l’auteur. Voici une ligne du fichier en exemple :
<blockquote><cite>Pierre Bordage</cite> : L'homme qui sacrifie sa liberté au nom de la sécurité jette de la terre sur le rêve humain. </blockquote>
L’affichage d’une citation choisie aléatoirement est réalisé par une noisette (à inclure) en php PHP Hypertext Preprocessor Voir Wikipedia PHP :
<?php
$file = file('mescitations.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // Emplacement du fichier qui contient les citations
$start= 1 ; // Constante contenant le nombre de lignes d'en-tête à exclure
$end= 1 ; // Constante (=1 pour supprimer le retour à la ligne de fin de fichier)
$urlPage='/squelettes/citationaleatoire.html'; // URL de la page de ce fichier depuis la racine
$total = count($file); // Total du nombre de lignes du fichier
$end=$total - $end; // Nombre de citations (= nombre de lignes réellement occupées par une citation)
$urlVar=preg_replace('/(^.*?)\?/', '', $urlPage."?id") ; // Préparation de l'URL à récupérer
$urlGet=$urlPage."?id"; // Création de l'URL pour la navigation
$id = isset($_GET[$urlVar])?intval($_GET[$urlVar]):intval(mt_rand($start, $end)); // on récupère l'id par tirage au sort et on l'ajoute à l'URL
echo utf8_encode($file[$id]); // On s'assure de l'encodage en utf8 et on affiche
?>
</div>
Je ne sais pas du tout où j’ai trouvé ce code qui m’a longtemps rendu service.
Désormais, cette noisette a été remplacée par une noisette toute en Spip SPIP Système de Publication Pour l’Internet (CMS utilisé pour le présent site). Voir Wiipedia SPIP : Noisette : "La citation du jour".
En complément, il est aussi possible de consulter Noisette "La réflexion du jour".