Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match - szukanie, sprawdzanie
Forum PHP.pl > Forum > Przedszkole
Warmix
Jak sprawdzić za pomocą preg_matcha, czy w sporym kodzie HTML znajduje się tekst: "To tylko test"?
cycofiasz
Do tego wystarczy funkcja strpos
zordon
eee?
  1. preg_match('/To tylko test/', $string);
Warmix
Cytat(zordon @ 3.02.2012, 15:23:56 ) *
eee?
  1. preg_match('/To tylko test/', $string);


No właśnie, nie działa...

Cytat(cycofiasz @ 3.02.2012, 15:23:39 ) *
Do tego wystarczy funkcja strpos


A jak to zastosować? Weźmy np. stronę onet.pl i wyszukanie jakieś frazy na niej...
Chelo
Np:

  1. if( strstr($zrodlo, 'To tylko test') )
  2. {
  3. ...
  4. }
  5. else
  6. {
  7. ...
  8. }
El Nino9
Cytat(Warmix @ 3.02.2012, 15:30:57 ) *
No właśnie, nie działa...



A jak to zastosować? Weźmy np. stronę onet.pl i wyszukanie jakieś frazy na niej...

jesteś pewny że nie działa?

  1. $string = 'To tylko test';
  2. preg_match('/To tylko test/', $string, $var);
  3.  
  4. echo $var[0];


ale do sprawdzenia czy istnieje dany tekst rzeczywiście lepsza będzie funkcja strpos

  1. $string = 'abc';
  2. $findme = 'a';
  3. $pos = strpos($string, $findme);
  4.  
  5. if ($findme == true)
  6. {
  7. echo "jest";
  8. }
  9.  
  10. else {echo "nie ma";
  11. }


Warmix
No testuję na wp i nie działa haha.gif
  1. $html = file_get_contents('http://wp.pl');
  2.  
  3. if(strstr($html, 'Sport'))
  4. {
  5. echo 'Jest';
  6. }


czy tak:

  1. $html = file_get_contents('http://wp.pl');
  2.  
  3. if(preg_match('/Sport/i', $html))
  4. {
  5. echo 'Jest';
  6. }


Nie ma, a powinno być...
Chelo
Za każdym odświeżeniem wyskakuje mi "Jest", jednak użyj strstr.
Warmix
Cytat(Chelo @ 3.02.2012, 15:53:08 ) *
Za każdym odświeżeniem wyskakuje mi "Jest", jednak użyj strstr.


To może ja mam cos nie tak, bo gdy użyję tego pierwzego, to nic się nie pokazuje (bo nie ma else)... ;/
Chelo
Dla odmiany spróbuj tak:
  1. $html = file_get_contents('http://wp.pl');
  2.  
  3. if(strstr($html, 'Sport') != false) { echo 'ok'; }
  4. else { echo 'blad'; }


i sprawdź przy okazji, czy $html w ogóle coś zwraca.
El Nino9
sprawdź co zwraca Ci funkcja file_get_contents
Warmix
Błędów nie ma, ale zawartość jest pusta!? ohmy.gif Gdy użyję echo, to na stronie nic się nie wyświetla... Co to oznacza, co zrobić?

PS. Być może to zabezpieczenia. Gdy np. próbuję wczytać darkwarez, to wczytuje...

Tak, to zdecydowanie jakieś zabezpieczenia...

Ciekawe, czy można je jakoś obejść? Może wie ktoś?

Jeszcze jedno pytanie... Lepiej użyć file_get_contents, czy curla?
Chelo
Curl szybciej wczytuje niż fgc z tego co pamiętam - użyj go.
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.