Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Filtrowanie glupich wpisow z formularza
Forum PHP.pl > Forum > PHP
yavaho
Mam formularz i chcial bym przefiltrowac z niego tekst, bo tekst ten bedzie wyswitlany jako komentarze na stronie.
Uzylem takich metod jak ponizej, tylko nie wiem jeszcze jak wyciac niepotrzebne znaki Entera. Gdy np ktos dowcipny wcisnie sobie enter w formularzu na kilka minut i potem to przesle.
  1. <?php
  2.  
  3.  $tresc = strip_tags($tresc);  //usuwa tagi
  4.  $tresc = trim($tresc);  //usuwa spacje
  5.  $tresc = substr($tresc,0,1000); //max limit dlugosci tekstu
  6.  $tresc = nl2br($tresc); //wstawia <br /> w miejsce entera
  7.  $tresc = wordwrap($tresc, 50, &#092;" \", 1);  //kroi długie wyrazy
  8.  
  9. // te funkcje ponizej nie zalatwiaja sprawy
  10.  $tresc = str_replace(&#092;"<br /><br />\", \"\", $tresc);
  11.  $tresc = str_replace(&#092;"nn\", \"\", $tresc);
  12. ?>

Oprocz tego co zrobilem, to jak jeszcze moglbym sie zabezpieczyc przed glupimi wpisami?
hwao
Daj minimalna ilosc literek:
http://pl.php.net/manual/pl/function.strlen.php
liczy ile jest

mozesz szrobic fobiej eszcze flitronwanie slow
  1. <?php
  2.  
  3. $arrSlowa = array( 'brzytkie slowo', '2', 'jakiestam', 'i to :)' );
  4.  
  5. $strTextStary = 'jakis text :)';
  6.  
  7. $strNewText = str_replace( $arrSlowa, '', $strTextStary );
  8. // Powinno dzialac jak nie zrob 2 tablice z '' samymi wartosciami
  9. ?>
Dravo
A to jak zniwleować za dużo enterów:
  1. <?php
  2. eregi_replace ('(<br />)+|(<br>)+','<br />', $string);
  3. ?>

Zamieni 1 lub wiecej <br> lub <br /> na 1 <br />
Oczywiście zastosuj to po zamienieniu '\r\n' (znak nowego wiersza) na <br />.
yavaho
Dzieki
Teraz juz o wiele lepiej wygladaja komentarze smile.gif
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.