Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]preg_match - szukanie, sprawdzanie
Warmix
post
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

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


Jak sprawdzić za pomocą preg_matcha, czy w sporym kodzie HTML znajduje się tekst: "To tylko test"?
Go to the top of the page
+Quote Post
cycofiasz
post
Post #2





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

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


Do tego wystarczy funkcja strpos
Go to the top of the page
+Quote Post
zordon
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


eee?
  1. preg_match('/To tylko test/', $string);
Go to the top of the page
+Quote Post
Warmix
post
Post #4





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

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


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...

Ten post edytował Warmix 3.02.2012, 15:31:14
Go to the top of the page
+Quote Post
Chelo
post
Post #5





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

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


Np:

  1. if( strstr($zrodlo, 'To tylko test') )
  2. {
  3. ...
  4. }
  5. else
  6. {
  7. ...
  8. }
Go to the top of the page
+Quote Post
El Nino9
post
Post #6





Grupa: Zarejestrowani
Postów: 87
Pomógł: 3
Dołączył: 3.04.2011

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


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. }


Go to the top of the page
+Quote Post
Warmix
post
Post #7





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

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


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ć...
Go to the top of the page
+Quote Post
Chelo
post
Post #8





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

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


Za każdym odświeżeniem wyskakuje mi "Jest", jednak użyj strstr.

Ten post edytował Chelo 3.02.2012, 15:54:01
Go to the top of the page
+Quote Post
Warmix
post
Post #9





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

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


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)... ;/
Go to the top of the page
+Quote Post
Chelo
post
Post #10





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

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


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.

Ten post edytował Chelo 3.02.2012, 16:07:28
Go to the top of the page
+Quote Post
El Nino9
post
Post #11





Grupa: Zarejestrowani
Postów: 87
Pomógł: 3
Dołączył: 3.04.2011

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


sprawdź co zwraca Ci funkcja file_get_contents
Go to the top of the page
+Quote Post
Warmix
post
Post #12





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

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


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?

Ten post edytował Warmix 3.02.2012, 20:35:05
Go to the top of the page
+Quote Post
Chelo
post
Post #13





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

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


Curl szybciej wczytuje niż fgc z tego co pamiętam - użyj go.
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 Aktualny czas: 20.08.2025 - 06:32