Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]pytanie początkującego
piteruss
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.10.2007

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


  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).
Powód edycji: dodalem tag i bbcode (cysiaczek)
Go to the top of the page
+Quote Post
c3zi
post
Post #2





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


Uzyj preg_replace_all i daj jako argumenty tablice.
Go to the top of the page
+Quote Post
piteruss
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.10.2007

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


A mógłbyś dokładnie napisać jakby to miało wyglądać?
Go to the top of the page
+Quote Post
c3zi
post
Post #4





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


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. ?>
Go to the top of the page
+Quote Post
piteruss
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.10.2007

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


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.
Go to the top of the page
+Quote Post
c3zi
post
Post #6





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


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





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.10.2007

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


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ć?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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

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

 



RSS Aktualny czas: 23.08.2025 - 21:39