Einen zufällig ausgewählten Inhalt anzeigen

Würfel

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:

<p>Dies ist ein ganz einfacher Text...</p>
--
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</emText <b>nur</bangezeigt 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:

// Datei mit den Zufallstexten
$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(0sizeof($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!"
}

WebsiteBaker Tipps & Tricks bei TwitterPassen 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.

For use with Website Baker

Bitte helfen Sie mit diesen Artikel zu verbessern,

Vielen Dank!

Ralf Hertsch

Ralf Hertsch, 29.08.2009

Neuere Themen:

Abfangjäger für Fehlermeldungen

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.

Suchmaschinenoptimierung mit Hilfe des Seitentitel

Für die Suchmaschinenoptimierung (SEO) gibt es einige gute Ratschläge, dieser hier bezieht sich auf den Seitentitel.

Ältere Themen:

Einen Countdown auf einer Seite einfügen

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.

Zurück zu Tipps & Tricks

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