Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyszukiwanie ciągu znaków w innym ciągu znaków
SaMi
post 30.07.2007, 12:26:09
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 14
Dołączył: 27.03.2004
Skąd: Białystok

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


Witam chcę sprawdzić czy zmienna $z zawiera swój odpowiednik albo albo jego cześć w zmiennej zapisanej jako $string i tak jeśli chce porównać całościowo to nie ma problemu funkcja poniżej działa mi bez zarzutu jednak gdy w zmienna $z wygląda tak $z = "192.168.5.123"; to mam problem ponieważ nie znajduje mi żadngo odpowiednika a chce by znalazło 192.168.5, za pomocą jakiej funkcji mam to zrealizować ?
  1. <?php
  2. $z='192.168.5';
  3. $string = '192.168.2,192.168.5,123.456.789';
  4.  
  5. $a = explode(',', $string);
  6. foreach($a as $value){
  7.  
  8. if(!eregi($z,$value)){
  9. print $value 'nie pasują do wzorca:'. $z.' <br>';
  10. }
  11.  else
  12. {
  13.  print 'znalazłem pasujący ciag:'. $value.' <br>';
  14. }
  15. }
  16. ?>


--------------------
Zapraszam na spływy kajakowe rzekami podlasia www.splywy-kajakiem.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Cienki1980
post 30.07.2007, 12:32:39
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


A może tak wykorzystać zwykłą funkcję strpos() questionmark.gif


--------------------
404
Go to the top of the page
+Quote Post
SaMi
post 30.07.2007, 14:41:41
Post #3





Grupa: Zarejestrowani
Postów: 173
Pomógł: 14
Dołączył: 27.03.2004
Skąd: Białystok

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


ekh własna głupota i pośpiech, tak powinien wyglądać wpis:

  1. <?php
  2. $z = '192.168.5';
  3. $string = '192.168.2,192.168.5,123.456.789';
  4.  
  5. $a = explode(',', $string);
  6. foreach($a as $value){
  7.  
  8. if(eregi($value, $z)) {
  9.  print 'znalazłem pasujący ciag: '. $value.' <br>';
  10. }
  11.  
  12. }
  13. ?>


--------------------
Zapraszam na spływy kajakowe rzekami podlasia www.splywy-kajakiem.pl
Go to the top of the page
+Quote Post
Gray
post 29.10.2011, 20:56:34
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Witam,
troszkę odkopuję ale chyba nie ma sensu zakładać nowego tematu. Czy przy sprawdzaniu ciągu funkcją eregi() w poszukiwaniu innego ciągu jest możliwość sprawdzenia ile razy dany ciąg się powtarza? np. ciąg 'WWWooWWWoo' sprawdzam w poszukiwaniu 'oo' i chciał bym się dowiedzieć, że występuje on 2 razy.
Jeśli nie da rady eregi to jaki mógł by być na to najłatwiejszy sposób?

Pozdrawiam,
Gray
Go to the top of the page
+Quote Post
Prym
post 29.10.2011, 21:05:46
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

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


primo: zrezygnuj z eregi bo ma status DEPRECATED. czyli teraz możesz użyć preg_match (wystąpienie wogóle) lub preg_match_all (wszystkie wystąpienia szukanego ciągu znaków)
Go to the top of the page
+Quote Post
Gray
post 29.10.2011, 21:59:13
Post #6





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Dzięki, przeglądnąłem tą funkcję w manualu ale nie rozumiem, jak jej użyć aby zwróciła mi ona numer powtórzeń szukanego ciągu w całym ciągu :/ nie jestem zaawansowany więc może to głupie pytanie ale jak to zrobić? dla takiego prostego ciągu wwwoowwwoowww chce sprawdzić ile razy występuje ciąg oo
Go to the top of the page
+Quote Post
Prym
post 29.10.2011, 22:09:42
Post #7





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

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


np:
Kod
preg_match_all("/(oo)/", 'WWWooWWWoo', $asd);
echo 'oo występuje '.count($asd[1]).' razy';


oo występuje 2 razy


Ten post edytował Prym 29.10.2011, 22:10:46
Go to the top of the page
+Quote Post
Gray
post 29.10.2011, 22:11:40
Post #8





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Leci "pomógł" smile.gif Dzieki.

edit:
Buuu, nie mogę Ci dać pomógł sad.gifsad.gif

Ten post edytował Gray 29.10.2011, 22:12:32
Go to the top of the page
+Quote Post
Prym
post 29.10.2011, 22:19:50
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

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


Nie ma problemu - nie twój temat więc nie możesz dać pomógł smile.gif
Go to the top of the page
+Quote Post
peter13135
post 29.10.2011, 22:19:57
Post #10





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


  1. substr_count('this is PHP!', 'is');//powinno zwrócić 2 tongue.gif


ten sposób chyba będzie prostszy i szybszy.


--------------------
:)
Go to the top of the page
+Quote Post
Prym
post 29.10.2011, 22:25:49
Post #11





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

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


Cytat(peter13135 @ 29.10.2011, 23:19:57 ) *
  1. substr_count('this is PHP!', 'is');//powinno zwrócić 2 tongue.gif


ten sposób chyba będzie prostszy i szybszy.


a i owszem kolega dobrze radzi - moje rozwiązanie będzie dotyczyło bardziej zastosowania wyrażeń regularnych i przerzucenia wyniku do tablicy, którą możesz obrabiać dane. Zastosowanie substr_count zwraca ci czystą liczbę więc szybciej będzie dla generowania kodu. ogólnie wszystko zależy co człowiek potrzebuje wink.gif
Go to the top of the page
+Quote Post
Gray
post 29.10.2011, 23:58:52
Post #12





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Dziekuję.
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: 14.08.2025 - 04:45