I am creating some EPG for the website. I do not have experience. Unfortunately, I’m finding it difficult. How can I get the icons, what is wrong in this code?`
JavaScript
x
Final code working:
<?php
$url = 'XML URL LINK';
$xml=simplexml_load_file("$url");
$progs = $xml->xpath('//programme');
foreach ($progs as $prog) {
$title = $prog->xpath('./title/text()')[0];
$link = (count($prog->xpath('./icon/@src'))>0) ? ($prog->xpath('./icon/@src'))[0] : ("No icon");
echo "Logo: <img src='{$link}'> <br/>" ;
echo "Title : ".$title. "<br>";
echo "<br>";
}
?>
Advertisement
Answer
If I understand you correctly, something like this should get you close to what I think you are trying to do. Note that not all programs have associated logos.
JavaScript
$progs = $xml->xpath('//programme');
foreach ($progs as $prog) {
$title = $prog->xpath('./title/text()')[0];
$link = (count($prog->xpath('./icon/@src'))>0) ? ($prog->xpath('./icon/@src'))[0] : ("No icon");
echo($title .": ". $link);
echo "rn";
}
EDIT:
I’m still not entirely sure I understand what you want, but it sounds like you need to wrap the whole thing in html and output to a browser. Something like:
JavaScript
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
$url = 'https://raw.githubusercontent.com/HelmerLuzo/TDTChannels_EPG/master/TDTChannels_EPG.xml';
$xml=simplexml_load_file("$url");
$progs = $xml->xpath('//programme');
foreach ($progs as $prog) {
$title = $prog->xpath('./title/text()')[0];
$link = (count($prog->xpath('./icon/@src'))>0) ? ($prog->xpath('./icon/@src'))[0] : ("No icon");
echo "Logo: <img src='{$link}'> <br/>" ;
echo "Title : ".$title. "<br>";
echo "<br>";
}
?>
</body>
</html>