Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Cenzor, implementacja
majestiq
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 26.10.2006

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


Mam taki prosty skrypt wyświetlający pozdrowienia na stronie:

  1. <?php
  2. (...)
  3. // odczyt pliku do tablicy
  4. $tekst = file("pozdrowienia.txt"); // odczytuje dane z pliku, nadac chmod 777
  5. $ile = 15; // ile linijek ma zapisywac do pliku (zero liczy sie tez jako linijka)
  6.  
  7. // zapisanie nowej linijki i starej zawartosci
  8. $plik = fopen("pozdrowienia.txt", "w");
  9. flock($plik, 2);
  10. fwrite($plik, "$_POST[pozd] r\n");
  11. for($i=0; $i < $ile; $i++) fwrite($plik, $tekst[$i]);
  12. flock($plik, 3);
  13. fclose($plik);
  14. setcookie ("sent", "sent", time()+60); //ustawia ciasto mowiace o tym, ze już wyslal pozdrowienia. 1=1 sekunda
  15. }
  16. else {
  17. $komunikat = 'Pozdrowienie musi mieć 5 - 40 znaków';
  18. } }
  19.  
  20. $tekst = file("pozdrowienia.txt"); // odczytuje dane z pliku, nadac chmod 777
  21. // zmienna $tekst[] to pozdrowienie, $gwiazdka to przerywnik miedzy pozdrowieniami
  22. $gwiazdka = '<span style="margin: 0 20px;">*</span>';
  23. $pozdrowienia = $gwiazdka . $tekst[0] . $gwiazdka . $tekst[1] . $gwiazdka . $tekst[2] . $gwiazdka . $tekst[3] . $gwiazdka . $tekst[4] . $gwiazdka . $tekst[5] . $gwiazdka . $tekst[6] . $gwiazdka . $tekst[7] . $gwiazdka;
  24. ?>



Jak najprościej zaimplementować tego cenzora:

  1. <?php
  2. function Cenzura($txt){
  3. $Bluzgi=array( 
  4. "/bluzg(a|i|asz)/i\",
  5. \"/dup(a|y|o|sko)/i\"
  6. );
  7. return preg_replace( $Bluzgi, '####', $txt );
  8. }
  9. ?>


Kiedy sprawdzalibyście czy słowa są ok - w tym skrypcie który pokazałam na początku - przy wpisywaniu pozdrowień przez użytkownika, czy dopiero podczas pobierania pozdrowień do wyświetlenia a może jeszcze w innym momencie ?

Czy w tym przypadku $txt w funkcji cenzora to $txt=pozdrowienia.txt questionmark.gif


--------------------
Free mp3 download.
Go to the top of the page
+Quote Post

Posty w temacie
- majestiq   [PHP]Cenzor   12.08.2008, 09:21:40
- - webasek   Użył bym w tym miejscu [PHP] pobierz, plaintext ...   12.08.2008, 11:57:19
- - golaod   webasek ma racje. Najlepiej, żeby to już od razu b...   12.08.2008, 12:14:33
- - majestiq   No właśnie jest dużo sposobów na obejście, ale nie...   12.08.2008, 15:04:21
- - golaod   Niestety nie znam, ale sądzisz, że ich aż tak dużo...   12.08.2008, 15:11:22
- - Szunaj85   Piszesz o cenzurowaniu, a dzień wcześniej użytkown...   12.08.2008, 15:36:45
- - golaod   Tylko, że jak właśnie zauważyłeś to wymaga konkret...   12.08.2008, 15:48:40
- - majestiq   Tamtego posta Wrednego nie zauważyłem, dzięki za l...   13.08.2008, 08:33:05
- - golaod   Zrozum...Albo możesz mieć bazę liczącą np. 150 słó...   13.08.2008, 08:41:01
- - majestiq   W sumie może i masz rację. 10-20 najpopularniejsz...   13.08.2008, 09:39:00
- - golaod   preg_replace przyjmuje tablice. Zatem wyrażenia mo...   13.08.2008, 09:42:46
- - majestiq   Czyli coś takiego: [PHP] pobierz, plaintext <?...   13.08.2008, 10:53:52
- - golaod   Nie. echo preg_replace($bluzgi,'xxxx...   13.08.2008, 10:56:01
- - majestiq   Wiem, zauważyłem błąd, ale mnie uprzedziłeś :-)   13.08.2008, 10:57:36
- - golaod   Nie wiem skąd to wziąłeś powinno być: "/bluzg...   13.08.2008, 11:02:49
- - majestiq   Ten kod skopiowałem z innego posta na podobny tema...   13.08.2008, 12:32:03
- - golaod   Tak właśnie. ^ oznacza, że od tego miejsca się str...   13.08.2008, 13:17:05
- - majestiq   Dobra, dzięki wielkie za pomoc. Może coś z tego bę...   14.08.2008, 08:03:15
- - nospor   bo zapomniano o tym, ze literki z nawiasow mog...   14.08.2008, 08:10:12
- - majestiq   Dzięki kolego ! A co dodać na początku: [PHP...   22.08.2008, 16:47:54
|- - .radex   Cytat(majestiq @ 22.08.2008, 17:47:54...   22.08.2008, 18:36:17
- - nospor   Cytat"/z?bluzg(a|i|asz)?/i"A mi dziala. ...   22.08.2008, 18:29:37
- - majestiq   Sorki za posta, mały mistake Dzięki za pomoc.   25.08.2008, 07:30:18


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 Aktualny czas: 21.08.2025 - 11:14