Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wulgaryzmy i wyjątki
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Mam formularz w którym weryfikuję za pomocą skryptu treść wyszukując w niej wulgaryzmów. Skrypt to tablica w której znajdują się wulgaryzmy oraz pętla, która sprawdza czy w tekście są wulgaryzmy.
Problem w tym, że są słowa które same w sobie zawierają ciąg znaków odpowiadający wulgaryzmowi, np. cham - słucham.
Skrypt takie słowa również bierze za wulgaryzmy.
Jeśli chodzi o rozwiązanie myślę tu o stworzeniu drugiej tablicy wyjątków, ale nie wiem jak to dalej zrobić. A może jest jakiś lepszy sposób?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Szunaj85
post
Post #2





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


  1. $text = 'Kurwa! Nie podsłuchuj. Kurwa!';
  2.  
  3. $forbiddenWords = array('kurwa', 'chuj');
  4.  
  5. // Bardzo proste obejście problemu początku i końca tekstu
  6. $text = '#' . $text . '#';
  7.  
  8. $forbiddenWords = implode('|', $forbiddenWords);
  9. $text = preg_match('/[^\pL](?:' . $forbiddenWords . ')[^\pL]/ius', function($matches) {
  10. // $matches[0] = #Kurwa!
  11.  
  12. return $return;
  13. }, $text);
  14.  
  15. // Powrót do pierwotnego tekstu (bez "#")
  16. $text = mb_substr($text, 1, -1);
  17.  
  18. echo $text;
Aj, mimo moich prób skrypt nie działa. W dodatku w 9 linii wyskakuje błąd. Pomożecie mi poprawić błędy?
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 22:10