BlackAce Geschrieben 22. Januar 2010 Geschrieben 22. Januar 2010 (bearbeitet) Schönen guten Tag. Ich habe ein kleines Problem bei dem ich nicht weiterkomme. Schaut euch bitte folgenden Code an::mod: <?php $satz1 = "Wir wollen die Daten klauen"; $arr = file("Blacklist.txt"); echo $arr[0]; //zeigt das Wort "klauen" an! trim($arr[0]); echo "<br>"; echo $arr[0]; //zeigt immer noch das Wort "klauen" an echo $satz1; //Testausgabe des Satzes echo "<br>"; $warnung = substr_count($satz1, $arr[0]); //in dem Satz nach "klauen" suchen echo $warnung; ?> Also, in dem angegebenen Textfile steht in jeder Zeile ein "gefährliches Wort". Unter anderem an erster Stelle "klauen". Diese Datei lese ich mittels file() in ein Array und kann dann die einzelnen Wörter, vorerst, gezielt ansprechen. Wenn ich das mache, dann funktioniert das auch. Allerdings möchte ich sie in Verbindung mit der Funktion substr_count() verwenden. In dem oben angebenen Satz, den ich in $satz1 speichere soll also nach dem Wort "klauen" gesucht werden. Leider funktioniert es nicht. Er findet das Wort nicht, welches aber auf jeden Fall einzeln ausgegeben werden kann. Um zu verhindern, dass irgendwelche Leer- bzw. Absatzzeichen das ganze verhindern, benutze ich noch die Funktion trim(). Leider will es ums verrecken nicht hinhauen. Case-Sensitivität und so weiter sind vorerst egal. Später wird das ganze dann auch dynamisch in einer Schleife ablaufen. Was mache ich nur falsch?! Bearbeitet 22. Januar 2010 von BlackAce Zitieren
flashpixx Geschrieben 22. Januar 2010 Geschrieben 22. Januar 2010 Leider will es ums verrecken nicht hinhauen. Geht nicht, ist keine aussagekräftige Fehlerbeschreibung. Du möchtest einmal das Logfile posten Zitieren
BlackAce Geschrieben 22. Januar 2010 Autor Geschrieben 22. Januar 2010 Das ist ja gerade das Problem. Es gibt keine Fehlermeldung. Wenn ich das Skript ausführe wird folgendes ausgegeben: klauen klauen Wir wollen die Daten klauen 0 Die 0 lässt darauf schließen, dass das Wort nicht gefunden wurde. Mal angenommen ich setze manuell auf $arr[0]= "klauen", dann funktioniert es und er gibt den Wert 1 zurück. Zitieren
InfoJunkie Geschrieben 22. Januar 2010 Geschrieben 22. Januar 2010 // ... $arr[0] = trim($arr[0]); echo substr_count($satz1, $arr[0]); Zitieren
BlackAce Geschrieben 22. Januar 2010 Autor Geschrieben 22. Januar 2010 Ach du meine Güte, so ein dummer Fehler... Vielen Dank dafür, jetzt hackts aber schon wieder beim nächsten Schritt. $satz1 = "Wir wollen die Daten klauen."; $arr = array("klauen", "stehlen", "rauben"); $count_arr = count($arr); echo $count_arr; echo "<br>"; for($i=0; $i<=$count_arr; $i++) { $arr[i]=trim($arr[i]); echo $arr[$i]; echo "<br>"; } echo "<br>"; echo $satz1; echo "<br>"; $warnung = substr_count($satz1, $arr[0]); echo $warnung; Das "trimmen" scheint zu funktionieren. Immerhin wird in der Ausgabe die Schleife zu ende geführt und die Worte auch ausgegeben. Ebenfalls der Counter für das Array funktioniert. Leider bei der Verwendung in der Funktion Substr_count() kein Erfolg. Es wird nichts angezeigt und auch keine Fehlermeldung:old Zitieren
T3D Geschrieben 23. Januar 2010 Geschrieben 23. Januar 2010 guck dir $arr[i]=trim($arr[i]); [/PHP] die zeile noch mal genauer an.. faellt dir sicher alleine auf Ted Zitieren
BlackAce Geschrieben 23. Januar 2010 Autor Geschrieben 23. Januar 2010 "Hier standen viele böse Wörter" ...... Das darf doch nicht wahr sein. Edit(h) findet es schade, dass es keine Spoiler gibt;) Vielen, vielen Dank! Echt super von dir, dass du mich nur drauf aufmerksam machst und nicht direkt vorkaust... Vielleicht schaffe ichs dann wirklich irgendwann das Kriegsbeil zwischen PHP und mir zu begraben. Und wenn ich nicht mehr weiter weiß, wende ich mich einfach an euch:cool: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.