Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] strpos - szuka tylko początek
wree
post 11.03.2011, 14:42:19
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

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


Witam

Mam taki problem. Dość prosty ale męczę się z tym już dobre 4 godziny. Mam taki kod:

  1. $k1 = strpos($tutajszukaj, 'pierwszesłowo' );
  2.  
  3. if ($k1 === false) {
  4.  
  5. echo 'nie znalazłem słowa' ;
  6.  
  7. } else {
  8. echo 'znalazłem słowo';
  9.  
  10. }
  11.  
  12. $k2 = strpos($tutajszukaj, 'drugiesłowo');
  13.  
  14. if ($k2 === false) {
  15.  
  16. echo 'nie znalazłem słowa' ;
  17.  
  18.  
  19. } else {
  20.  
  21. echo 'znalazłem słowo';
  22.  
  23. }


Mój problem tkwi w tym, że szuka w tekście (tak mi się wydaje) do pewnego momentu a potem przestaje i zwraca że nie znalazło chociaż w tekście jest szukane słowo tylko przy końcu tekstu. W każdym tekście znajduje się pierwszesłowo lub drugiesłowo. Gdy występuje jedno albo drugie jest ok, działa. Problem następuje gdy w tekście znajdują się obydwa słowa. Gdy obydwa słowa występują w tekście tylko to które jest pierwsze w kolejności zostaje odnalezione. Chcę by wyświetliło, że znalazło obydwa. Często występują kilkakrotnie w tekście... ale chcę tylko by sprawdziło czy chociaż 1 raz słowo się pojawiło. Wydaje mi się, że chyba powinienem użyć czegoś innego by odnaleźć obydwa. Tylko jest to trochę dziwne, ponieważ napisałem osobny kod dla pierwszego i drugiego słowa.. nie powinny kolidować ze sobą.. chociaż dane pobierają z tego samego miejsca. Nie wiem dlaczego strpos nie szuka do końca tekstu, gdzie ewidentnie znajduje się słowo.

acha i nie chcę użyć preg_match chcę zrozumieć dlaczego nie działa strpos

Może mnie ktoś naprowadzić co robię źle?

Ten post edytował wree 11.03.2011, 14:48:55
Go to the top of the page
+Quote Post
cycofiasz
post 11.03.2011, 14:56:19
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Podaj konkretny przykład stringów szukanych i stringu w którym ma szukać
Go to the top of the page
+Quote Post
wree
post 11.03.2011, 15:56:17
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

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


  1. <?php
  2.  
  3. $tutajszukaj = '[span]AZD365N32H2DSB34N424B5[/span][zadanie]DFGNAG4345N2N5FFCFN55N3[/zadanie][bold]DZCNRE4353M2453M22M[/bold][zadanie]CDNG4WN324C3J[/zadanie][span]CXMDDMG424M345M2MDDM[/span]';
  4.  
  5. $k1 = strpos($tutajszukaj, 'zadanie' );
  6.  
  7. if ($k1 === false) {
  8.  
  9. echo 'nie znalazłem zadanie' ;
  10.  
  11. } else {
  12.  
  13. echo 'znalazłem zadanie';
  14.  
  15. }
  16.  
  17. $k2 = strpos($tutajszukaj, 'span');
  18.  
  19. if ($k2 === false) {
  20.  
  21. echo 'nie znalazłem span' ;
  22.  
  23. } else {
  24.  
  25. echo 'znalazłem span';
  26.  
  27. }
  28.  
  29.  
  30.  
  31.  
  32. ?>





Ten post edytował wree 11.03.2011, 16:14:13
Go to the top of the page
+Quote Post
Zyx
post 11.03.2011, 16:11:53
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


  1. <?php
  2. $text = '[span]AZD365N32H2DSB34N424B5[/span][zadanie]DFGNAG4345N2N5FFCFN55N3[/zadanie][bold]DZCNRE4353M2453M22M[/bold][zadanie]CDNG4WN324C3J[/zadanie][span]CXMDDMG424M345M2MDDM[/span]';
  3. if(strpos($text, 'span') !== false)
  4. {
  5. echo 'span found<br/>';
  6. }
  7. if(strpos($text, 'zadanie') !== false)
  8. {
  9. echo 'zadanie found<br/>';
  10. }


Działa. Otoczenie szukanego słowa nie ma żadnego wpływu na wynik działania strpos. Musisz mieć błąd w danych w bazie, albo coś gubić przy sklejaniu.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
wree
post 11.03.2011, 16:37:25
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

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


tak, wiem już, że działa... bo sprawdziłem gdzieś indziej i wszystko jest ok... niestety w tym skrypcie który rozbudowuje nie działa... nie wiem dlaczego... zawsze dostaje jedno albo drugie... nigdy dwóch pozytywnych. No trudno, na razie zostanę przy jednym... jak znajdę odpowiedz to napiszę... dzięki.
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 - 02:27