Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]pytanie początkującego
Forum PHP.pl > Forum > Przedszkole
piteruss
  1. <?php
  2. if ($this->gbEntry == "") {
  3.  $this->error($this->text("err_entry"));
  4.  return;
  5.  }
  6. ?>






Witam ta część skryptu służy temu aby wyświetlał się komunikat o tym że nic się nie wpiało do odpowiedniego okienka. Ja jednak chciałbym przerobić ten kod na filtr wulgaryzmów - to znaczy żeby ten skrypt sprawdzał czy w tekscie wpisanym nie ma kilku zakazanych słów. (udało mi się zrobić tak aby wykrywało wpisanie jedynie zakazanego słowa, ale jak już oprócz tego zakazanego słowa zostanie użyte coś innego, to filtr nie działa).
c3zi
Uzyj preg_replace_all i daj jako argumenty tablice.
piteruss
A mógłbyś dokładnie napisać jakby to miało wyglądać?
c3zi
Przykład z MANUALA! [-;

  1. <?php
  2. $string = 'The quick brown fox jumped over the lazy dog.';
  3. $patterns[0] = '/quick/';
  4. $patterns[1] = '/brown/';
  5. $patterns[2] = '/fox/';
  6. $replacements[2] = 'bear';
  7. $replacements[1] = 'black';
  8. $replacements[0] = 'slow';
  9. echo preg_replace($patterns, $replacements, $string);
  10. ?>
piteruss
To jest przecież chyba zupełnie co innego. Ten skrypt zastępuje jedne wyrazy innymi a ja po prostu chce żeby mój skrypt wykrywał czy użytkownik nie wpisał danego słowa w swojej wypowiedzi! Czyli po prostu chyba trzeba wpisać cos pomiędzy "", ale nie wiem co.
c3zi
Aha, w ten sposób. To użyj np. funkcji preg_match_all(). Stórz wzorzec z tych swoich ocenzurowanych słów i po sprawie.

Mniej wiecej coś takiego:
$sPattern = "/^(przeklenstwo1|przeklenstwo2|przeklenstwo3)$/";

if( preg_match_all( $sPattern, $sSource.$aVar ) )
{
.....
.....
}

To jest jeden spośród wielu sposobów. Możesz również ( np. ) podzielić tekst i sprawdzać w pętli czy nie ma jakiegoś tam słowa ( imho gorsze ). itd.
piteruss
Sorry za to potanie, ale bardzo słabo na razie znam sie na php: w jaki sposób to wstawić do tego skryptu który podałem? Jak to powinno dokładnie wyglądać?
Cysiaczek
Przenoszę na Przedszkole.

@piteruss - doceniamy ludzi, którzy się starają - pokaż więcej kodu, przedstaw swoje pomysły a rozwiązanie tego problemu - skorygujemy, podpowiemy, pomożemy.

Pozdrawiam.
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.