Reputation: 157
I had to get HTML from body
tag of this XML file.
Code:
$doc = new DOMDocument();
$doc->load('https://m360-dev.opoint.com/api/feeds/f201637e-2524-4a56-8504-73090f532c91/view/');
foreach($doc->getElementsByTagName('document') as $node){
$body = $node->getElementsByTagName('body')->item(0)->nodeValue;
print_r($body);
echo "<hr/>";
}
Output of this code:
string(594) "
Lördagen den 7 oktober går årets upplaga av Skogsmaran av stapeln. Det
populära terrängloppet på Vildmarksleden – mellan Skatås i Göteborg och österut
till Hindås. Ekan Management finns med som sponsor för att främja en aktiv
och hälsosam fritid. Vill du vara med?! Vi bjuder på deltagaravgiften till
dig som vill tillbringa en härlig dag i naturen. 21 eller 42 kilometer,
vandring eller löpning väljer du själv.Vi har ett begränsat antal platser.
Anmäl ditt intresse via [email protected] så kontaktar vi dig kring det
praktiska.Mer information finns på www.Skogsmaran.se
"
Output wanted:
<p>
<text>
Lördagen den 7 oktober går årets upplaga av Skogsmaran av stapeln. Det
populära terrängloppet på Vildmarksleden – mellan Skatås i Göteborg och
österut till Hindås. Ekan Management finns med som sponsor för att
främja en
aktiv och hälsosam fritid. Vill du vara med?! Vi bjuder på
deltagaravgiften
till dig som vill tillbringa en härlig dag i naturen. 21 eller 42
kilometer,
vandring eller löpning väljer du själv.
</text>
</p>
<p>
<text>
Vi har ett begränsat antal platser. Anmäl ditt intresse via
[email protected] så
kontaktar vi dig kring det praktiska.
</text>
</p>
<p>
<text>Mer information finns på www.Skogsmaran.se</text>
</p>
But this always returns bunch of string equivalent to HTML within body
tag.
Upvotes: 4
Views: 75
Reputation: 57121
Your taking the node value and then just dumping that out, if you want the HTML, then use something like...
$doc = new DOMDocument();
$doc->load('https://m360-dev.opoint.com/api/feeds/f201637e-2524-4a56-8504-73090f532c91/view/');
foreach($doc->getElementsByTagName('document') as $node){
$body = $node->getElementsByTagName('body')->item(0);
foreach ( $body->childNodes as $node ) {
echo $doc->saveHTML($node);
}
echo "<hr/>";
}
You ask the document to save HTML from the $body node.
Upvotes: 2