Umgang mit explode, zufällige Ausgabe bei bestimmten Begriffen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umgang mit explode, zufällige Ausgabe bei bestimmten Begriffen

    Tach

    Ich habe eine Datei, die nach dem folgenden Shema gefüllt ist:
    ich,bin=Du bist dumm|Du bist doof
    du,bist,doch=Ich bin super|Ich bin toll|Ich bin der beste|Ich bin gut
    ....
    Nun bezogen auf die erste Zeile der Datei.
    Wenn nun eine Zeile aus einer anderen Datei "ich" und "bin", also die mit Komma getrennten Begriffe in beliebiger Reihenfolge enthält, soll zufällig entweder "Du bist dumm" oder "Du bist doof" ausgegeben werden, also eine der mit | getrennten Sätze.
    Wobei der Zufallsalgorithmus natürlich nicht das Problem ist, sondern der Umgang mit der Funktion explode.

    Wer kann mir da auf die Sprünge helfen und einen Ansatz liefern, der funktioniert?


    Grüße
    acE

  • #2
    definiere mal dein problem genauer!

    Kommentar


    • #3
      Okay,...
      Eine Datei xy.txt hat in der ersten Zeile folgendes stehen:
      ich,bin=Du bist dumm|Du bist doof
      Diese Einträge ziehen sich über hunderte Zeilen hin.

      Eine andere Datei, dessen letzte Zeile sich ständig ändert, wird permanent ausgelesen. Wenn diese letzte Zeile die Wörter beinhaltet die in irgendeiner Zeile der xy.txt durch Kommata getrennt stehen, soll daraufhin dass ausgegeben werden, was in eben jener Zeile, die die Wörter beinhaltet, der xy.txt hinter dem Gleich-Zeichen steht.

      Wenn also in ichaenderemich.php steht:
      "Ich bin viel zu gut."

      Wird daraufhin aus der xy.txt:
      "Du bist dumm" oder "Du bist doof" ausgewählt.

      Das Auslesen ist nicht das Problem.
      Bisher arbeite ich mit if(eregi("ich bin", $nohtml)) { ...
      Wobei da natürlich die Wörter in der ichaenderemich.php in eben jener Reihenfolge stehen müssen und sich der Quelltext ganz schön zieht.
      if(eregi("ich bin", $nohtml)) { send("Du bist dumm","Du bist doof") }
      So würde ich es auch noch hinkriegen, dass er eine der Nachrichten auswählt. Aber mein Ziel ist es eben dieses ganze als ich,bin=Du bist dumm|Du bist doof auszulagern.

      Ich hoffe das war verständlich.

      Kommentar


      • #4
        ich *verschieb* mal zum Brainstorming.

        hmm,

        könntest natürlich n großes array machen:

        PHP-Code:
        $a[] = array(
                     array(
        'ich','bin'),
                     array(
        'du bist a','du bist b')
                     ); 
        und dann gehst du das array einfach durch:

        PHP-Code:
        if(strstr($a[$i][0][$j],$nohtml
        just Pseudocode.

        soll heißen, du gehst das große array s.o. der reihe nach durch und guckst ob wort1 enthalten und wort2 enthalten ist. wenn ja, kannst du dann $a[$i][1][rand(n)] benutzen.

        ist aber sicher nur n ansatz und nicht annähernd perfekt oder ausreichend durchdacht.

        Kommentar

        Lädt...
        X