Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] strpos - szuka tylko początek
wree
post
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
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





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.
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: 27.12.2025 - 20:22