Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 von BlackAce

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.

// ...

$arr[0] = trim($arr[0]);

echo substr_count($satz1, $arr[0]);

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

"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:

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.