Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nieeee spaaamuj :), Funkcja, php 4 i 5
tiraeth
post 9.06.2005, 17:45:59
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


  1. <?php
  2. function noSpam($funcTeksts)
  3. {
  4.  /*************************************************
  5. * Funkcja poprawia niepoprawnie napisane wyrazy 
  6. * (powtarzanie liter), slownik wyjatkow nalezy
  7. * sobie samemu uzupelnic w zmiennej $slownik.
  8. *************************************************/
  9.  /* Skrypcik darmowy, mozna wykorzystywac do np.
  10. * ksiag gosciu, systemow newsow (komentarze) i tym
  11. * podobne...
  12. *************************************************/
  13.  
  14.  
  15.  $slownik = array('winny');
  16.  $znaczki = array('.', '!', '?');
  17.  
  18.  $string = $funcTeksts;
  19.  $slowa = explode(&#092;" \", $string);
  20.  
  21.  foreach($slowa as $slowo)
  22.  {
  23. for($i=0; $i<strlen($slowo); $i++)
  24. {
  25.  $b = $i; $b--;
  26.  $test_slowo = str_replace(array(&#092;"!\", \".\", \",\", \";\", \":\", \"?\"), \"\", $slowo); $test_slowo = strtolower($test_slowo);
  27.  if(strtolower($slowo{$b}) != strtolower($slowo{$i}) || in_array($slowo{$i}, $znaczki) || in_array($test_slowo, $slownik) || strlen($test_slowo) <= 5)
  28.  {
  29. $zmienna[] = $slowo{$i};
  30.  }
  31.  else
  32.  {
  33. if($ok == false)
  34. {
  35.  $pop++;
  36.  $ok = true;
  37. }
  38.  }
  39. }
  40. $tekstz[] = $zmienna;
  41. unset($zmienna);
  42. $ok = false;
  43.  }
  44.  
  45.  foreach($tekstz as $id => $tek)
  46.  {
  47. $count = count($tekstz[$id]);
  48. for($i=0; $i<$count; $i++)
  49. {
  50.  $teksta[$id].=$tekstz[$id][$i];
  51. }
  52. $tekstz[$id] = $teksta[$id];
  53.  }
  54.  
  55.  $nowy_tekst = implode(&#092;" \", $tekstz);
  56.  
  57.  $array['old'] = $string;
  58.  $array['new'] = $nowy_tekst;
  59.  $array['mistakes'] = $pop;
  60.  
  61.  return $array;
  62. }
  63. ?>


No i fajna funkcja sobie powstała smile.gif Może się przydać smile.gif Nie mogę poradzić sobie z błędem przy wyrazie winnnny, chcę aby zwróciło winny a nie winy....

Co sądzicie o funkcji?
Go to the top of the page
+Quote Post
AxZx
post 9.06.2005, 20:22:15
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


no wlasnie, bo gdy ktos bedzie musial uzyc 3 liter pod rzad?smile.gif
masz daj jakis limit zeby nie bral wyrazow pod uwage gdy maja np 5 liter takich samych pod rzad, albo cos takiego


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
tiraeth
post 10.06.2005, 22:09:48
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Kod
#
#-----[ FIND (line 29)]------------------------------------------
#

         if(strtolower($slowo{$b}) != strtolower($slowo{$i}) || in_array($slowo{$i}, $znaczki) || in_array($test_slowo, $slownik))

#
#-----[ IN-LINE, FIND ]------------------------------------------
#

in_array($test_slowo, $slownik)

#
#-----[ AFTER, ADD ]------------------------------------------
#

|| strlen($test_slowo) <= 5


Proste nie? snitch.gif
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.04.2024 - 20:18