Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak sprawdzić, czy w ciągu znaków nie ma ciągu znaków w zdefiniowanej tablicy?, czyli jak wyłapać elemnt z tablicy w ciągu i jemu podobne?
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Mój problem będzie dotyczył badwords...

mamy tablicę z badwords:
  1. <?php
  2. $badWords = array('komputer','lodówka','żelasko','obciągdrut','wiertarkokręt');
  3. ?>

i takie tam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

i teraz mam taki kod (pisany tutaj z palca mogą być błędy):
  1. <?php
  2. $string = 'komputerrrrrrowy';
  3.  
  4. $e = 0;
  5.  
  6. foreach($badWords as $word)
  7. {
  8. if(eregi($string, $word))
  9. {
  10. $e++;
  11. }
  12. }
  13.  
  14. if($e)
  15. {
  16. echo'nie przeklinaj, '.$e.' przekleństw w Twoim ciągu znaków';
  17. }
  18. else
  19. {
  20. echo $string;
  21. }
  22. ?>


P.S. powyższy kod nie powinien dzialać bo słowo "komputerrrrrrowy" nie zostanie przypasowane do badwords (patrz pytanie nr 2 w ostatniej części tematu).

pytanie (pytania w sumie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) są takie:

1. jak sprawdzić czy ciąg znaków posiada jakiś element tablicy bez uzycia foreach?
2. jak zrobić aby ciąg "komputerrrrrrowy" odpowiadał ciągowi z pierwszego elementu powyżeszj tablicy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
legorek
post
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Nie rozumiesz koncepcji eregi" title="Zobacz w manualu php" target="_manual, poczytaj o wyrażeniach regularnych.

ad 1) in_array" title="Zobacz w manualu php" target="_manual
ad 2) nie rozumiem pytania

Ten post edytował legorek 12.08.2006, 17:49:04
Go to the top of the page
+Quote Post
Athlan
post
Post #3





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Cytat(legorek @ 12.08.2006, 16:48 ) *
Nie rozumiesz koncepcji eregi" title="Zobacz w manualu php" target="_manual, poczytaj o wyrażeniach regularnych.


do czego służy ta funkcja i wyrażenia regularne to wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) posłużyłem się nią tylko, by sprawdzić ciąg znaków, czyli zamiast wyrażenia podstawiam już gotowy, wygenerowany tekst. A z tym in_array() to nie rozwizało mojego problemu jakbyś nie zauwazył z leksza (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

hmmm wpadłem na pomysł żeby w tablicy generować wyrażenia regularne... np:
kur*
wypier*

gdzie * to dowolny ciąg znaków

ale nie wiem czy to jest dobry pomysł (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

nawiązując do tematu... ponawiam moje 2 pierwsze pytanie (z postu #1)

Ten post edytował Athlan 12.08.2006, 18:01:43
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 - 02:01