UnixDevel Posted January 16, 2012 Report Posted January 16, 2012 Cum spune si titlu ,am nevoie de ajutor :problema este urmatoare :exista ceva prin care sa imi dau seama ,de o portiune mare de text dintr-0 pagina html,adika extrag continutul unei pagini html prin metoda file_get_contents si ca raspuns primesc o pagina html ,cum imi pot da seama generic care este cea mai mare portiune de text ,fara indetificatoare css Quote
aelius Posted January 16, 2012 Report Posted January 16, 2012 (edited) Banuiesc ca vrei sa faci ceva de scrape. Normal ar fi sa te uiti pe site si sa identifici unde este contentul. De exemplu, sa spunem ca el se afla in "<div id='content'>". Tu iti faci un preg_match sa-ti extraga absolut tot ce este in div-ul cu id-ul content.ps: stiu ca id-ul div-ului este un identificator css, insa nu vad cum ai putea face daca ai 3 paragrafe anume in site, sa le extragi si sa le vezi care este mai mare. (fara sa fie necesara o verificare ceva in prealabil sau sa le stii dupa identificator) Edited January 16, 2012 by aelius Quote
kNigHt Posted January 16, 2012 Report Posted January 16, 2012 Incearca sa bagi asta:PHP Simple HTML DOM Parserrequire_once 'simple_html_dom.php';$page = file_get_contents('veveve.page.com');$page = str_get_html($page);$pageDivs = $page->find('div');$maxLength = 0;$maxKey = false;foreach($pageDivs as $pageDivKey => $pageDivData){$currentLen = strlen($pageDivData->plaintext);if($currentLen > $maxLength){$maxLength = $currentLen;$maxKey = $pageDivKey;}}if($maxKey){echo '<pre>'.print_r($pageDivs[$maxKey], true).'</pre>'; // Foarte mult verbose, sa-ti faci o ideeecho $pageDivs[$maxKey]->plaintext;}Inventat la minut ca salam, forum in quick edit. Ti-am dat o idee, va trebui sa-l analizezi.EDIT: E posibil ca daca un div are un alt div in el, cand ii dai plaintext sa-ti afiseze si div-ul child. Daca-i asa mai ai putin de munca. Poti modifica div cu orice alt tag. 1 Quote
UnixDevel Posted January 16, 2012 Author Report Posted January 16, 2012 si eu folosesc clasa aia ,dar nu mia trecut prin cap sa fac asa ceva ... nice ,buna ideea thanks Quote
backdoor Posted February 1, 2012 Report Posted February 1, 2012 Exista in php , pentru cei pasionati clasa Dom Document care stie sa parseze un fisier HTML exact cum o face javascript , doar ca nu executa cod . The DOMDocument class Quote
Xander Posted February 1, 2012 Report Posted February 1, 2012 phpquery - phpQuery - jQuery port to PHP - Google Project Hosting Quote