Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie treści ze strony
nemo223
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 14.01.2009

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


Mam problem polegający na pobieraniu treści mojej strony WWW. Chciałbym jedynie pobrać tekst, a nie znaczniki XHTML. Z wycinaniem już sobie poradziłem ponieważ <code>użyłem strip_tags</code>, tylko że potem zostają mi w treści zawartość arkusza stylów i skrypty JS.

Można to wyciąć za pomocą ereg_replace tylko właśnie nie wiem jakiego wyrażenia użyć.
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




moze najpierw z z <body> wyciągnąć wszystko czyli coś ala $strona=preg_replace( "<body>(.*)</body>","$1",$strona);
i potem strip_tags smile.gif
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


poniższy skrypt usuwa komentarze i skrypty js bedące pomiedzy tagami <script......
  1. <?php
  2. $tresc_dokumentu=''; //tu jest pusta - musisz sobie jakkolwiek wczytać
  3.  
  4.  
  5. $usun = array(
  6. '/<!--.*?-->/is',
  7. '//*.*?*//is',
  8. '/<script.*?</script>/is'
  9. );
  10. $text = preg_replace($usun, '', $tresc_dokumentu);
  11. echo $text;
  12. ?>

pozatym jeśli nie potrzebujesz ani jednego znacznika, wyróżnika, tylko czyściuteńki tekst to można bez formatowania go zwrócić jeszcze z body za pomocą mniej więcej takiej konstrukcji:
  1. <?php
  2. $file='http://pl.wikipedia.org/wiki/PHP';
  3. $txt=file_get_contents($file);
  4. $tresc =  new DOMDocument();
  5. @$tresc->loadHTML($txt);
  6. $txt=$tresc->getElementsByTagName('body')->item(0)->nodeValue;
  7. $usun = array('/<!--.*?-->/is','//*.*?*//is','/<script.*?</script>/is');
  8. $txt = preg_replace($usun, '', $txt);
  9. echo '<pre>'.$txt.'</pre>';
  10. ?>


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

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: 19.08.2025 - 07:35