ďťż

[PHP][curl] pobieranie konkretnego elementu stony

       

Podstrony


telcocafe

Mamy sobie skrypt jak nizej, i chcemy pobrac element strony np. z wp.pl, jego kod tez nizej, ale dostaje tylko tablice i co dalej, co z takim fantem zrobic, aby wyswietlic tylko wybrana wartosc :/

Efektem końcowym ma być pobrana wartości z strony wp.pl, tj np. na dziś "Sobota, 19 grudnia 2009, imieniny Dariusza, Urbana"

Do momentu //echo curl_exec($ch); wszystko potrafi wyświetlić, problemem jest samo pobranie konkretnej wartości
Czytając http://pl.php.net/preg_match nie mogę dojść co jest nie tak :/

<?php $ch = curl_init('http://www.wp.pl'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //echo curl_exec($ch); curl_close($ch); preg_match('/<div[^>]+id="ngInfo">(.+?)<\/div> /ism', $wejscie, $wyjscie); /* $dane = $wyjscie; $file = "plik.txt"; $fp = fopen($file, "a"); flock($fp, 2); fwrite($fp, $dane); flock($fp, 3); fclose($fp); */ print_r($wyjscie); ?>

<div id="ngInfo"> Wtorek, 15 grudnia 2009, imieniny <a href="http://kartki.wp.pl">Waleriana, Celiny</a> </div>
Użytkownik bercow edytował ten post 19 grudzień 2009, 01:07


Przecież otrzymujesz taką tablicę:Array ( [0] => <div id="ngInfo"> Sobota, 19 grudnia 2009, imieniny <a href="http://kartki.wp.pl">Dariusza, Urbana</a> </div> [1] => Sobota, 19 grudnia 2009, imieniny <a href="http://kartki.wp.pl">Dariusza, Urbana</a> )I z czym jest problem? Wyświetlasz, np.:echo strip_tags(trim($wyjscie[1]));I masz wynik.
Można jeszcze pokombinować z wyrażeniami regularnymi, czyli coś takiego:preg_match('/<div[^>]+id="ngInfo">\s*(.+?) \s*<\/div>/ism', $wejscie, $wyjscie); echo strip_tags($wyjscie[1]);Albo jeszcze bardziej rozbudowane wyrażenie:preg_match('/<div[^>]+id="ngInfo">\s*(.+?) <a[^>]+>(.+?)<\/a>\s*<\/div>/ism', $wejscie, $wyjscie); echo $wyjscie[1].$wyjscie[2];
Użytkownik andrzej_aa edytował ten post 19 grudzień 2009, 01:39
No własnie nie,nie jest to wina curla, bo cokolwiek innego napisze to działa, i echo curl_exec($ch); działa, ale nie mogę wywołać tej tablicy :/ Możesz wkleić całość od początku do końca, i bym zobaczył u siebie,

no nie mam pojęcia :|

Jeżeli posługujesz się skryptem, który zamieściłeś w pierwszym poście, to nic dziwnego, że nic się nie wyświetla. Do preg_match przekazujesz "$wejscie", ale ta zmienna nie jest nigdzie inicjowana.

$wejscie = curl_exec($ch); curl_close($ch); preg_match('/<div[^>]+id="ngInfo">(.+?)<\/div> /ism', $wejscie, $wyjscie);

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.