Vreau sa pharsez o pagina cu un clasament de liga 1 pentru al baga intr-un xml.
A facut cineva asa ceva pe aici?
Versiune printabilă
Vreau sa pharsez o pagina cu un clasament de liga 1 pentru al baga intr-un xml.
A facut cineva asa ceva pe aici?
ma refeream la un exemplu concret :(
presupunand ca il iei de pe campionate.ro (clasamentul), decupezi ce e intre
si primulCitat:
<table width="100%" border="0" cellpadding="5">
apoi folosesti expresii regulate, sau macar explode() si obtii relativ usor datele.Citat:
</table>
Am reusit doar sa scot bucata de tabel. Nu reusesc deloc sa extrag doar echipa si punctele acesteia.Cod:$page = file_get_contents("http://www.campionate.ro/competitii/fotbal/national/romania/liga-1/2008-2009/");
$a = explode('<div id="table">',$page);
$b = explode('</div>',$a[1]);
print $b[0];
Expresiile regulate mi-au dat de furca !!!
Domenii imi poti da un exemplu cum sa scot tagurile de tabel din ce am extras eu cu explode?
Multumesc
Edit: aici este scriptul: http://www.newpixel.ro/liga.php
tagurile le scoti cu strip_tags.
apoi eu zic ca cel mai simplu e sa te folosesti de faptul ca numele echipei e la linia X si punctele la linia Y in bucata ta de tabel
Am reusit si am scos din tabel iar ce imi afiseaza pentru fiecare echipa este : 10CFR Cluj52128-4 (4)7(+1)
As vrea sa imi ramana din sirul asta doar numele echipei si cifra(e) care este intre parantezele ) x (.
Ma poti indruma cu expresii regulate?
pentru parsat recomand http://php.net/dom
Daca ai o idee de PHP + HTML si ai rabdare 15-20 de minute sa citesti documentatia din link, precis o sa iti dai seama ce anume trebuie sa faci
pe scurt:acum, fiecare element din $tmp are cate o linie din tabelul alaCod PHP:$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.campionate.ro/competitii/fotbal/national/romania/liga-1/2008-2009/');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$tmp = curl_exec($ch);
$doc = new DOMDocument();
@$doc->loadHTML($tmp);
$tabel = $doc->getElementById('round_content') -> nodeValue;
$tmp = explode('<tr>', $tabel);
Spor la joaca!
PS: in loc de $tabel = $doc->getElementById('round_content') -> nodeValue; poti sa mergi mai departe cu dom-ul, pana extragi exact ceea ce-ti trebuie