Problem mit str_replace und array

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

  • Problem mit str_replace und array

    Nabend Leute,

    Ich habe folgenden Code:
    PHP-Code:
    $words file("wortliste.txt");
    $awords explode("|",$words);
    $bwords implode("', ' ",$awords);
    $reihe = array("$bwords");
    $kkt str_replace($reihe,"####",$kt);
    echo 
    $kkt
    wortliste.txt sieht dann so aus:
    ab|aber|abgesehen|alle|allein|aller|alles|als|also|am|an|andere|anderen|anderenfalls|

    $kt wird aus einer datenbank geholt und ist natürlich ein text.

    Ich hab schon einiges versucht. wenn ich die wörter manuell in das array schreibe klappts, aber sonst nicht.
    und ich weiß einfach nicht warum.

    ich hoffe ihr könnt mir helfen
    arrays sind klasse

  • #2
    ungetestet
    PHP-Code:
    $words file("wortliste.txt");
    $awords explode("|",$words);
    $bwords = array();
    for(
    $i=0;$i<count($words);$i++)
        
    $bwords[] = "####";
    $kkt str_replace($awords$bwords$kt);
    echo 
    $kkt
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hatten wir schon oft
      Code:
      $text = preg_replace("#(" . implode("|", $words) . ")#ise", 
                           "substr('\\1',0,1).str_repeat('*',strlen('\\1')-1)", 
                           $text);
      macht aus "Wort" ein "W***"
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        Der Code von TBT funktioniert.
        Ich wollte aber alle Wörter, die in der wortliste vorkommen aus dem Text herausfiltern und nicht durch "*" ersetzen, sondern einfach rausstreichen. Zudem werden aus wörtern wie "abwaschen" "a*waschen", da das wort "ab" in der liste steht - was nicht passieren sollte.

        Mein eigentliches ziel war es aus einem eingegebenen text die keywords automatisch zu erstellen. bei langen texten aus einer langen datenbank würde dies eine suchefunktion erleichter bzw. verschnellern.

        Ich versteh auch nicht, was an meinem anfänglichen Code falsch war
        oder bin ich bei meinem vorhaben mit dieser methode auf dem holzweg?
        arrays sind klasse

        Kommentar


        • #5
          Original geschrieben von Maranello-550
          Ich versteh auch nicht, was an meinem anfänglichen Code falsch war
          hast du dir das array $reihe mal ausgeben lassen?

          ich bezweifle, dass
          PHP-Code:
          $reihe = array("$bwords"); 
          funktioniert...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Also foreach() ?!?

            Und wie kann ic das da anwenden?
            Ich habe mir das schon im Manual angesehen, konnte aber nicht wirklich was funktionierendes bauen...
            arrays sind klasse

            Kommentar


            • #7
              hast du nicht oben zwei beispiele bekommen? eines von TBT und eines von mir? warum willst du das rad jetzt neu erfinden?
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                foreach ist wohl n bisschen aufwändig: print_r() reicht!

                Kommentar


                • #9
                  hab es jetzt einfach direkt ins array geschrieben.

                  (warum kompliziert, wenn es auch einfach geht )

                  danke euch für eure hilfe.
                  arrays sind klasse

                  Kommentar

                  Lädt...
                  X