Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z eregi i myslnikami
Forum PHP.pl > Forum > Przedszkole
glizda1125
Witam

Napisalem skrypt który szuka w pliku tekstowym po linijce jakiegos ciagu znakow (ale szuka tylko do pierwszego znalezienia i zwrca nr lini w ktorej znajduje sie ten ciag)


  1. <?php
  2. while ($linia == false) 
  3.        { for ($i=0; $i<$ilosclini;$i++) 
  4.     { if (eregi ('szukany tekst', $tekst[$i])) {$linia=$i; echo &#092;"Ciag znaleziono w = $i lini
  5. &#092;";}
  6.     };
  7.     }
  8. ?>


Wszystko ladnie i pieknie, zatrzymuje sie na pierwszym znalezionym ciagu i wyswietla nr lini. Problem zaczyna sie w momecie kiedy szukanym tekstem jest ciag myslnikow ----------, wowczas nie zatrzymuje sie po pierwszym znalezieniu tylko przeszukuje caly plik i zwraca mi wszystkie wyniki.
Dlaczego tak sie dzieje czemu ze zwyklym tekstem sobie radzi a z myslnikami nie?
misiek172
spróbuj może zamiast eregi użyć http://www.php.net/manual/pl/function.stristr.php
glizda1125
Niestety przy wykozystaniu funkcji stristr dalej to samo.
Obydwie funkcje znajduja ciagi i wyswietlaja nr lini ale nie wiem czemu nie zatrzymuja sie przy pierwszym znalezieniu tylko przeszukuja caly plik.
Przy zwyklych znakach wszystko dziala a przy myslnikach nie.
Moze to nie jest wina
Kod
eregi
ale
Kod
while
misiek172
użyj break; do zatrzymania pętli

wogóle warunek jest moim zdaniem zły ($linia == false)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.