Hallo.
Ich bastle gerade an einem PHP-Script, welches Teile eines Textes per Zufall ersetzen soll. Möglichkeiten der Ersetzungen werden im Text gleich mitgegeben.
Ein Beispiel: Aus der Zeichenkette "Das ist [genau richtig|vielleicht richtig|sicherlich ok]. Oder?!" können drei Varianten entstehen.
Variante 1. Das ist genau richtig. Oder?!
Variante 2. Das ist vielleicht richtig. Oder?!
Variante 3. Das ist sicherlich ok. Oder?!
Hierzu haben ich folgendes Script geschrieben:
Das Script funzt gut und erledigt seine Arbeit. Allerdings, sobald ich in der Zeichenkette eine zweite oder dritte Wortfolge einbaue ...
also z.B.: $zeichenkette="Das ist [genau richtig|vielleicht richtig|sicherlich ok]. Oder?! [Warum|Wieso|Weshalb] sollte es auch anders sein?";
... wird nur noch die letzte Wortgruppe akzeptiert und ausgewertet.
[Sackgasse|Einbahnstraße|Ende?]
Nun weiß ich nicht mehr weiter. Hat jemand eine Idee?
Viele Dank im voraus, Fresh
Ich bastle gerade an einem PHP-Script, welches Teile eines Textes per Zufall ersetzen soll. Möglichkeiten der Ersetzungen werden im Text gleich mitgegeben.
Ein Beispiel: Aus der Zeichenkette "Das ist [genau richtig|vielleicht richtig|sicherlich ok]. Oder?!" können drei Varianten entstehen.
Variante 1. Das ist genau richtig. Oder?!
Variante 2. Das ist vielleicht richtig. Oder?!
Variante 3. Das ist sicherlich ok. Oder?!
Hierzu haben ich folgendes Script geschrieben:
Code:
$zeichenkette="Das ist [genau richtig|vielleicht richtig|sicherlich ok]. Oder?!"; echo "<p>Variante 1: <em>".$zeichenkette."</em></p>"; preg_match_all("!\[([^\]]*)!",$zeichenkette,$ergebnisse); foreach ($ergebnisse[1] as $code) { $zufall = explode("|", $code); $neu=$zufall[array_rand($zufall,1)]; } $zeichenketteneu = str_replace("[".$code."]",$neu, $zeichenkette); echo "<p><strong>Ergebnis: ".$zeichenketteneu."</strong></p>";
also z.B.: $zeichenkette="Das ist [genau richtig|vielleicht richtig|sicherlich ok]. Oder?! [Warum|Wieso|Weshalb] sollte es auch anders sein?";
... wird nur noch die letzte Wortgruppe akzeptiert und ausgewertet.
[Sackgasse|Einbahnstraße|Ende?]
Nun weiß ich nicht mehr weiter. Hat jemand eine Idee?
Viele Dank im voraus, Fresh
Kommentar