Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zmiana tekstu
Killerek
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

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


Witam, mam taki kod

  1. <?php
  2.  
  3. $curl = curl_init();
  4. //Inicujemy curl
  5.  
  6. curl_setopt($curl, CURLOPT_URL, 'http://miastozbrodni.ct8.pl/');
  7. //pobieramy dane z strony
  8.  
  9. curl_setopt($curl, CURLOPT_REFERER, "http://www.google.pl/");
  10. //ustawiamy refferer na www.google.pl (niektóre strony mają zabezpieczenia
  11.  
  12. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  13. //podążamy za ewentualnym przekierowaniem
  14.  
  15. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  16. //wyniku nie wyświetlamy a zapisujemy do zmiennej co ułatwia prace nad nim
  17.  
  18. curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)');
  19. //ustawiamy useragent (niektóre strony mają zabezpieczenia)
  20.  
  21. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  22. //Maxymalny czas połączenia ze stroną
  23.  
  24. curl_setopt($curl, CURLOPT_HEADER, 0);
  25. //nie chcemy dołączać nagłówka
  26.  
  27. $strona = curl_exec($curl);
  28. //uruchamiamy skonfigurowanego curla
  29.  
  30. curl_close($curl);
  31. //zamykamy
  32.  
  33. echo "$strona"
  34. //wyświetlamy stronę
  35.  
  36. ?>


I tutaj się pojawia mój problem ponieważ chcę zrobić tak jeżeli na stronie http://miastozbrodni.ct8.pl/ (ponieważ tą ustawiłem w curl) będzie pisać "HERBATA" to zamiast pobierania całej strony

  1. echo "$strona"


na mojej stronie wyświetliło się tylko

  1. echo "Strona posiada napis HERBATA"


Ale jeżeli będzie pisać np. KAWA to niech się wyświetla tak

  1. echo "Strona posiada napis KAWA"


Jak mam to wykonać?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


(IMG:style_emoticons/default/sciana.gif)
Nie rozumiem w czym masz problem, pobierasz przecież całą treść strony, a chcesz poprzedzić ją innym stringiem - drugie echo choćby.


I uwaga:
  1. echo "$strona";

wystarczy:
  1. echo $strona;


Ten post edytował markonix 30.03.2013, 16:34:35
Go to the top of the page
+Quote Post
Killerek
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

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


Myślałem nad

  1. $curl = curl_init();
  2. //Inicujemy curl
  3.  
  4. curl_setopt($curl, CURLOPT_URL, 'http://miastozbrodni.ct8.pl/');
  5. //pobieramy dane z strony
  6.  
  7. curl_setopt($curl, CURLOPT_REFERER, "http://www.google.pl/");
  8. //ustawiamy refferer na www.google.pl (niektóre strony mają zabezpieczenia
  9.  
  10. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  11. //podążamy za ewentualnym przekierowaniem
  12.  
  13. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  14. //wyniku nie wyświetlamy a zapisujemy do zmiennej co ułatwia prace nad nim
  15.  
  16. curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)');
  17. //ustawiamy useragent (niektóre strony mają zabezpieczenia)
  18.  
  19. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  20. //Maxymalny czas połączenia ze stroną
  21.  
  22. curl_setopt($curl, CURLOPT_HEADER, 0);
  23. //nie chcemy dołączać nagłówka
  24.  
  25. $strona = curl_exec($curl);
  26. //uruchamiamy skonfigurowanego curla
  27.  
  28. curl_close($curl);
  29. //zamykamy
  30.  
  31. preg_match_all('[<pre style="word-wrap: break-word; white-space: pre-wrap;">(.+?)</span></pre>]is',$strona,$categoria);
  32. $tekst=strip_tags($categoria[0][0]);
  33.  
  34. echo " Strona posiada napis $tekst .";


Ale nie działa...

  1. preg_match_all('[<pre style="word-wrap: break-word; white-space: pre-wrap;">(.+?)</span></pre>]is',$strona,$categoria);


Dlatego, że w kodzie źródłowym strony pisze

  1. </head>
  2. <pre style="word-wrap: break-word; white-space: pre-wrap;">HERBATA</pre>
  3. </body>
  4. </html>


Ten post edytował Killerek 30.03.2013, 17:06:33
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


  1. preg_match('/(kawa|herbata)/', $source, $match);
  2. print_r($match);
  3.  
  4. if('kawa' == $match[1])
  5. {
  6. echo 'kawa';
  7. }
  8. elseif('herbata' == $match[1])
  9. {
  10. echo 'herbata';
  11. }
Go to the top of the page
+Quote Post
Killerek
post
Post #5





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

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


Cytat(!*! @ 30.03.2013, 17:03:44 ) *
  1. preg_match('/(kawa|herbata)/', $source, $match);
  2. print_r($match);
  3.  
  4. if('kawa' == $match[1])
  5. {
  6. echo 'kawa';
  7. }
  8. elseif('herbata' == $match[1])
  9. {
  10. echo 'herbata';
  11. }


oo super! Tylko, że teraz mi wyskakuje tak Array ( [0] => herbata [1] => kawa ) herbata

Ten post edytował Killerek 30.03.2013, 17:23:54
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


U mnie działa. Pokaż co zrobiłeś.

edycja:

I tak ma być. Usuń print_r.

Ten post edytował !*! 30.03.2013, 17:24:29
Go to the top of the page
+Quote Post
Killerek
post
Post #7





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

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


Cytat(!*! @ 30.03.2013, 17:23:47 ) *
U mnie działa. Pokaż co zrobiłeś.

edycja:

I tak ma być. Usuń print_r.


Świetnie! Działa!


Dziękuje wszystkim za pomoc (IMG:style_emoticons/default/smile.gif) !
Go to the top of the page
+Quote Post

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: 15.09.2025 - 03:08