Permalänk

Php hjälp, getElementsBy...

Hej alla snälla swec'are!

Nu är det så att jag håller på med en hemsida som är till för klassen, och den ger grundläggande information.

Såsom Datum, vecka, och schema.

Det jag vill ha hjälp med är följande:

Hämta matsedeln från http://meny.dinskolmat.se/backadalsgymnasiet/

Med hjälp av getElementsById som jag hoppas att någon är duktig på.

För på den sidan jag länkade ovan, så ligger inte "matsedeln" i ID's. Utan classes, och det gör det hela lite jobbigare.

Dagens rätt ligger i <tr> och <td>

Och har inte en blekaste hur jag ska hämta ut det därifrån.

Här är min kod atm:

<?php $doc = new DOMDocument(); $doc->loadHTMLFile('http://meny.dinskolmat.se/backadalsgymnasiet'); $result = $doc->getElementById('INGEN ANING'); error_reporting(0); echo $result->nodeValue; ?>

Så här ser sidan ut atm:

http://wickedgc.com/schema

_____________________

Jätte tacksam för svar!

Mvh Robert

Visa signatur

Wicked Gaming Community - http://wickedgc.com | Server host / Spel community

Permalänk
Medlem

Litet tips till sidan lägg till
<META HTTP-EQUIV="refresh" CONTENT="60">
så att klockan uppdateras!

Permalänk

juste ja! Det kan vara smart! Tack

Visa signatur

Wicked Gaming Community - http://wickedgc.com | Server host / Spel community

Permalänk
Inaktiv

Börja med getElementsByTagName('tr') så har du separerat alla dagar, så kanske du kommer på något sett att gå vidare.

Permalänk

Varsågod, testat och fungerar

$doc = new DOMDocument(); $data = file_get_contents("http://meny.dinskolmat.se/backadalsgymnasiet/"); @$doc->loadHTML('<?xml encoding="UTF-8">' . $data); // dirty fix foreach ($doc->childNodes as $item) if ($item->nodeType == XML_PI_NODE) $doc->removeChild($item); // remove hack $doc->encoding = 'UTF-8'; // insert proper $tags = $doc->getElementsByTagName('td'); foreach ($tags as $tag) { $tdClass = $tag->getAttribute('class'); if($tdClass == "info"){ echo "<b>".$tag->nodeValue."</b>"; }else{ $dishes = $tag->getElementsByTagName('p'); foreach ($dishes as $dish) { echo $dish->nodeValue."<br />\n"; } } echo "<br />\n"; }

Edit: Fixade så att varje rätt hamnade på egen rad nu också.

Permalänk

Tack keychain, men efter jag har "separerat" på dem. Ska jag då köra getElemtentsByClass('odd') ?

För den visar inte ett smack.. :/

Visa signatur

Wicked Gaming Community - http://wickedgc.com | Server host / Spel community

Permalänk

Faith in humanity restored! Tack så hemskt mycket Full Strike!, Uppskattas !

Visa signatur

Wicked Gaming Community - http://wickedgc.com | Server host / Spel community

Permalänk
Skrivet av the1447elite:

Faith in humanity restored! Tack så hemskt mycket Full Strike!, Uppskattas !

Inga problem! Jag gjorde en ändring i mitt script så att rätterna hamnar på var sin rad, du verkar ha missat att få med den på din sida