Zufällige Ausgabe des Seitentitels

Crashburn

Mitglied
Hallo!

Ich wollte mir endlich in meine Website wieder etwas originelles einbauen: einen zufälligen Spruch in der Titelleiste.

Das Skript ist wie folgt:

PHP:
<?php
	function randomtitle($str){
		$num = rand(1,20);
		
		switch($num){
			case 1:
				$case = $str." - Wieso auch nicht?";
			break;
			
			case 2:
				$case = $str." - Einfach anders!";
			break;
			
			case 3:
				$case = $str." - Besser als Sex.";
			break;
			
			case 4:
				$case = "Was wäre die Welt ohne ".$str."?";
			break;

			//usw.
		}
		
		return $case;
	}
?>

Die Ausgabe ist:

PHP:
<?php //hier das Skript und der restliche HTML-Kram ?>
<title><?php echo randomtitle("Crashburn"); ?></title>

Kein Problem soweit.

Mein Anliegen ist, dass das Ganze bei 20 Möglichkeiten in meinen Codestil sich auf 93 Zeilen summiert: nicht weiter schlimm, aber dennoch schrecklich.

Nun dachte ich daran, das ganze irgendwie "zurecht zu stützen". Da ich schon eine lange Pause in Sachen PHP hatte und ziemlich eingerostet bin, fällt mir spontan keine Idee ein.

Zum Thema Arrays: ja okay.... ich weiß was sie sind, benutzt habe ich sie eigentlich nie, da ich sie soweit nicht benötigte. Sicher wird es mit Arrays gehen, ich hoffe jemand kann mir die Dinger Anhand meines Beispiels etwas näher bringen.
 
Hallo,
folgendes Beispiel liest die Datei sprueche.txt Zeile für Zeile in ein Array und gibt eine zufällig ausgewählte Zeile aus.

PHP:
<?php
  $sprueche = file("sprueche.txt");
  echo $sprueche[rand(0,count($sprueche)-1)];
?>

Hoffe das hilft dir.

mfg
forsterm
 
Ja, danke schonmal für die Hilfe. Ich werd's eben ausprobieren.

--------------

Okay, funktioniert super.

PS: Ich lass den Thread als "nicht erledigt", falls jemand anderes noch eine Idee hat.
 
Zuletzt bearbeitet:
Hallo Crashburn

Wiso machst dus dir nicht einfach und schreibst deine Sprüche in ne tabele und lässt Sie dir dan wie folgt ausgeben:

PHP:
 "SELECT * FROM sprueche ORDER BY rand() LIMIT 1"

Der Trick bei der ganzen Sache ist das "rand" , damit kannst du dir ein "Zufalls" ( Gibt es beim Computer ja eigentlich nicht ) Datensatz ausgeben.

Gruss tschimo
 
Sicher könnte ich's mit einer Tabelle lösen, ich finde eine Lösung ohne aber mehr als ausreichend.

Außerdem muss man ja Traffic sparen :suspekt:
 
forsterm hat gesagt.:
Hallo,
folgendes Beispiel liest die Datei sprueche.txt Zeile für Zeile in ein Array und gibt eine zufällig ausgewählte Zeile aus.

PHP:
<?php
  $sprueche = file("sprueche.txt");
  echo $sprueche[rand(0,count($sprueche)-1)];
?>

Hoffe das hilft dir.

mfg
forsterm

Sorry wegen dem Doppelpost, aber eine Frage habe ich dazu: Wie bewerkstellige ich es, dass ich in der Textdatei Variablen verwenden kann, so wie bei meiner Variante? geht das nur mit str_replace() oder preg_replace()?
 
Hallo,
meinst du das?
PHP:
<?php
  function randomtitle($str){
	$sprueche = file("sprueche.txt");
	$spruch = $str.$sprueche[rand(0,count($sprueche)-1)];
	return $spruch;
  }
  
  echo randomtitle("Dein Text");
?>

mfg
forsterm
 
Nicht direkt. Eher, dass ich in der Textdatei Variablen verwende (so eine Art Wildcard wie *), die ich dann später halt durch die im Code gegebene ersetze. Okay, somit habe ich es mir selbst erklärt. Also str_replace(). :D

Trotzdem danke für die Hilfe.

PS: Manchmal klinge ich nicht nur suspekt, ich bin es meistens auch. :D
 
Zurück