<?
function rainbow($text) // neue Funktion namens rainbow($text); wird erstellt
{
// Die Farben können bei Bedarf natürlich auch ausgetauscht werden!
$farben = array("mediumblue","orangered","seagreen","turquoise","mediumslateblue","darksalmon","chartreuse","darkgoldenrod","darkmagenta");
/* Zerhackstückelt das String in einzelne Zeichen und speichert diese als Array ab */
$buchstaben = preg_split("/[.]{0}/",$text);
// -------------------------
$laenge = strlen($text); // Textlänge ermitteln
$laengestr = count($buchstaben) - 1; // Elemente des Arrays $laengestr
$anzfarben = count($farben) - 1; // Elemente des Arrays $anzfarben
// -------------------------
// -------------------------
$farbe = 0;
for($i=1; $i < $laenge; $i++) // Startet eine for-Schleife
{
$last = $laengestr - $i; // Letztes Array ausfindig machen
// Wenn Zeichen x, wie y, Leerzeichen sind, dann:
// $i inkrementieren
// $last dekrementieren
if($buchstaben[$i] == " " && $buchstaben[$last] == " ")
{
$i++;
$last--;
}
// Wenn Zeichen x ein Leerzeichen ist, und y kein Leerzeichen, dann:
// $i inkrementieren
// die Zeichen x und y formatieren
if($buchstaben[$i] == " " && $buchstaben[$last] != " ")
{
$i++;
$buchstaben[$i] = "<font color='". $farben[$farbe] ."'>". $buchstaben[$i] ."</font>";
$buchstaben[$last] = "<font color='". $farben[$farbe] ."'>". $buchstaben[$last] ."</font>";
}
// Wenn x, sowie y keine Leerzeichen sind, dann:
// die beiden Zeichen formatieren
if($buchstaben[$i] != " " && $buchstaben[$last] != " ")
{
$buchstaben[$i] = "<font color='". $farben[$farbe] ."'>". $buchstaben[$i] ."</font>";
$buchstaben[$last] = "<font color='". $farben[$farbe] ."'>". $buchstaben[$last] ."</font>";
}
$farbe++; // Inkrementieren der Variable $farbe
// Wenn $farbe das letzte Element des Farben-Array erreicht hat, dann
// wird $farbe zurück auf 0 gesetzt
if($farbe == $anzfarben)
{
$farbe = 0;
}
}
$rainbow = "";
// Jedes Element des Array $buchstaben in der Variable $rainbow abspeichern
foreach($buchstaben as $element)
{
$rainbow .= $element;
}
// $rainbow wird von der Funktion zurückgegeben
return $rainbow;
}
$text = "\"Muh, muh, muh\", ruft die bunte Kuh!";
$text2 = "Unser Hund heisst Luna!";
// Aufrufen der Funktion via print();
print(rainbow($text));
print("<br>". rainbow($text2));
print("<br>". rainbow("Hallo!"));
?>