Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie tekstu
Forum PHP.pl > Forum > Przedszkole
Lirdoner
Witam, mam taki skrypt
  1. $zakazane = "pytanie,pytań,pomoc,pomocy,ratunku,jestem,zielony,prośba,odpala,pytania,pom
    óżcie,pytanko,mam,da,pomocy!,pomożcie!,!,!!,!!!,!!!!"
    ;
  2. $inc = explode(",", $zakazane);
  3. $liczba = count($inc);
  4. for($i = 0; $i <= $liczba; $i++) {
  5. if(empty($inc[$i])) {
  6. $inc[$i] = "apsidbfuayeraiobfsdaiofuyaoboasdugf";
  7. }
  8. if(strpos($post_subject, $inc[$i])) {
  9. echo "błąd";
  10. }
  11. }

I teraz problem jest w tym, że funkcja strpos nie działa tak jak należy
gdy $post_subject = "pytanie" to powinien wyświetlić się błąd jednak tak się nie dzieje.
Prosiłbym o jakąś podpowiedź dlaczego tak jest
tehaha
za bardzo przekombinowałeś sprawę, nie wiem dokładnie co chcesz osiągnąć, ale ten kod można zastąpić takim:
  1. $zakazane = "pytanie,pytań,pomoc,pomocy,ratunku,jestem,zielony,prośba,odpala,pytania,pom
    óżcie,pytanko,mam,da,pomocy!,pomożcie!,!,!!,!!!,!!!!"
    ;
  2. $inc = explode(",", $zakazane);
  3. if(in_array($post_subject, $inc)) echo 'Błąd';


@DOWN wartość w tablicy będzie pusta jeżeli w stringu będą 2 przecinki obok siebie
Neverhunted
Daj jakieś info do czego ma służyć ten skrypt. To znacznie uprości sprawę, bo do pętli rozumiem, ale później...
Wychodzi na to, że masz string, który zamieniasz w tablicę.
Liczysz liczbę elementów tablicy i puszczasz pętlę tyle raz ile jest elementów.
Nie bardzo zatem rozumiem ideę kodu
  1. if(empty($inc[$i])) {
  2. $inc[$i] = "apsidbfuayeraiobfsdaiofuyaoboasdugf";
  3. }

$inc[$i] nigdy nie będzie puste, bo dane brane są ze tablicy wynikającej ze stringa.


Jeżeli chodzi o wyłapanie niedozwolonych słów to rozwiązanie tehaha jest dobrą opcją.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.