Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mały problem z cenzurowaniem wyników nadchodzących z bazy
Raven1122
post
Post #1





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Witam,

Mam taki kodzik:

  1. if(CENSURE == 1){
  2. $censure = $this->db->prepare("SELECT * FROM isb_censore");
  3. $censure->execute();
  4.  
  5. while($word = $censure->fetch()){
  6. $word_tocensore = $word['word'];
  7. $word_replecement = $word['replacement'];
  8. $finalmsg = str_replace($word_tocensore, $word_replecement, $row['shout']);
  9. }
  10.  
  11. }


Niestety cenzura działa tylko na ostatni wulgaryzm w poście, ponieważ zmiennia $finalmsg wciąż sie nadpisuje. Jeżeli użyje konkatenacji to dana wiadomość wystąpi tyle azy ile w niej jest przekleństw. Nie przychodzi mi do głowy żadne sensowne rozwiązanie tego problemu, więc proszę o podsunięcie pomysłu (IMG:style_emoticons/default/wink.gif)

Go to the top of the page
+Quote Post
cratown
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.10.2008
Skąd: Trouń

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


Witaj,
wystarczy zastąpić tę linię:

  1. $finalmsg = str_replace($word_tocensore, $word_replecement, $row['shout']);


następującą:


  1. $row['shout'] = str_replace($word_tocensore, $word_replecement, $row['shout']);


A tak by było optymalnie:

  1. $word_tocensore = array();
  2. $word_replecement = array();
  3.  
  4. while($word = $censure->fetch()){
  5. $word_tocensore[] = $word['word'];
  6. $word_replecement[] = $word['replacement'];
  7. }
  8.  
  9. $finalmsg = str_replace($word_tocensore, $word_replecement, $row['shout']);



I po problemie (IMG:style_emoticons/default/smile.gif)

Ten post edytował cratown 30.01.2013, 20:47:41
Go to the top of the page
+Quote Post
Raven1122
post
Post #3





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


No tak, ja to nie mysle. Daje pomogl (IMG:style_emoticons/default/smile.gif)
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: 14.09.2025 - 23:23