Einen zufällig ausgewählten Inhalt anzeigen

Dieser Codeschnipsel zeigt sehr schön, wie mit minimalem Aufwand ein zufällig ausgewählter Text oder auch ein zufällig ausgewähltes Bild angezeigt werden kann.
Zunächst erstellen Sie mit einem Texteditor eine neue Datei, in die Sie die gewünschten Texte und/oder Bilder in Form von HTML Anweisungen einfügen. Die einzelnen Texte bzw. Bilder trennen Sie jeweils mit der Anweisung --NEXT-- die in einer eigenen Zeile steht:
--NEXT--
<div style="margin:15px;padding:15px;border:1px solid #990000;">
<p>Dieser Text wird in einem Rot umrandeten Container dargestellt und enthaelt sonst keine
elementaren Informationen...</p>
</div>
--NEXT--
<div>
<p>Ich bin ein Bild:</p>
<p><img src="http://phpmanufaktur.de/media/pages/random/tautropfen.jpg"
alt="Random Image" border="0"><img></p>
</div>
--NEXT--
<p>Wogegen <em>dieser</em> Text <b>nur</b> angezeigt wird und keinen tieferen Sinn verbirgt!</p>
Das Beispiel enthält 3 unterschiedliche Texte und ein Bild.
Als nächstes fügen Sie an der Stelle auf Ihrer Seite an der ein zufälliger Inhalt angezeigt werden soll einen neuen Abschnitt vom Typ Code ein:
$random_txt_file = WB_PATH . MEDIA_DIRECTORY . '/random.txt';
// Erlaubte HTML Tags festlegen
$allowed_tags = '<div><span><p><br><img><a><i><b><em><strong>';
// Zufallsgenerator initialisieren
srand((double)microtime()*1000000);
if (file_exists($random_txt_file)) {
// Zufallstexte in ein Array einlesen
$array_txt = preg_split("/--NEXT--/", join('', file($random_txt_file)));
// Zufaelligen Text aus dem Array auswaehlen und anzeigen
$text = $array_txt[rand(0, sizeof($array_txt) -1)];
// Ausfuehren von Fremdcode verhindern und nicht erlaubte HTML Tags entfernen
echo strip_tags($text, $allowed_tags);
}
else {
echo "Datei mit den Zufallstexten nicht gefunden!";
}
Passen Sie den Pfad auf die Datei mit den zufälligen Inhalten gegebenen falls an, im Beispiel weist $random_txt_file auf die Datei random.txt im MEDIA Verzeichnis Ihrer Website.
Um zu verhindern, daß über die Datei random.txt unerwünschter Fremdcode ausgeführt wird, entfernt das Script alle HTML Tags die nicht in $allowed_tags enthalten sind. Passen Sie die Vorgabe bei Bedarf an.
Das Ergebnis sehen Sie in der folgenden Box, der Inhalt wechselt jedesmal, wenn Sie diese Seite erneut laden:
Zufällig angezeigter Inhalt:
Dieser Text wird in einem Rot umrandeten Container dargestellt und enthält sonst keine elementaren Informationen...
Natürlich können Sie den Code auch direkt in ein Template einfügen und auf diese Weise z.B. eine ständig wechselnde Anzeige von Werbebannern, Zitaten oder sonstigen Inhalten realisieren.
![]()
Bitte helfen Sie mit diesen Artikel zu verbessern,
Vielen Dank!
![]()
Ralf Hertsch, 29.08.2009
Neuere Themen:
Dass Seiten nicht gefunden werden ist nicht ungewöhnlich und lässt sich auch kaum verhindern. Mögliche Fehlerursachen sind Tippfehler oder Verlinkungen über Suchmaschinen auf Seiten die inzwischen gelöscht wurden.
Für die Suchmaschinenoptimierung (SEO) gibt es einige gute Ratschläge, dieser hier bezieht sich auf den Seitentitel.
Ältere Themen:
Um einen Countdown auf einer Seite einzufügen der die Tage bis zu einem bestimmten Ereignis zählt, wird ein Stückchen php Code benötigt, der an der gewünschten Stelle ausgeführt wird.
22.03.2010
Tanja
Hallo Ralf,
genau so etwas habe ich gesucht. Kann ich eigentlich den Code auch so anpassen, dass mir nicht nur einer sondern 2 oder 4 Texte bzw. Bilder mit einmal angezeigt werden?
Beste Grüße
Hallo Tanja,
du brauchst das Codeschnipsel dazu nur mehrmals hintereinander mit unterschiedlichen Quelldateien aufrufen (bzw. das Schnipsel entsprechend zu ergänzen).
Gruß
Ralf
02.11.2009
Harry
Hallo Ralf
Dein Code läuft nun seit ein paar Monaten einwandfrei auf einer Webseite. Danke!
Ist es damit auch möglich, Wysiwyg-Seiten zufällig anzuzeigen?
LG Harry
Hallo Harry,
das ist in dieser Form leider nicht möglich - ich schicke dir per E-Mail die Adresse von jemandem, der mit der zufälligen Anzeige von WYSIWYG Sections experimentiert.
Gruß
Ralf
23.07.2009
Stefek
Modifikation, um Sections auszugenen?
Hallo Ralf, könntest Du bitte eine etwas variierte Methode zeigen, die aus einer Reihe vorgegebener Section IDs immer einer random ausgibt? Also stattper dieser Trennung innerhalb der Textdatei... etwa so gebe ich sie vor: meine Sections { 12, 13, 14, 15, 16} und dann gibt er jeweils eine per random aus. Das wäre toll. Noch besser, wenn man nur die PageID angeben müsste und er sich dann die Wysiwyg Sections automatisch rauspickt. Grüße aus Bremen, Stefek
07.01.2009
Harry
Danke für diesen super Code-Schnipsel
Hallo Ralf Ich habe diesen Codeschnipsel mal auf meiner Testseite versucht. Klappt hervorragend! Interessant wäre auch eine kontunierliche Ausgabe der wechselnden Inhalte. Danke und Gruss Harry
11.11.2008
Bikerpete
Danke!
Genau DAS hab ich gesucht und jetzt endlich gefunden ;-) Nochmal vielen Dank!
17.10.2008
martin
Super Snippet
Hallo Ralf, vielen Dank für diese super Seite! Kommt eigentlich die im WB Topic dazu beschriebene funktionen für die komtinuierliche ausgabe mit dazu? mfg aus dem süden
