Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie tekstu
Lirdoner
post 10.02.2011, 23:07:21
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
tehaha
post 10.02.2011, 23:27:27
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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

Ten post edytował tehaha 11.02.2011, 19:23:43
Go to the top of the page
+Quote Post
Neverhunted
post 11.02.2011, 13:44:10
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 15.01.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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ą.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:06