-
Notifications
You must be signed in to change notification settings - Fork 34
/
rss-reader.php
45 lines (40 loc) · 2.03 KB
/
rss-reader.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html>
<html lang="cs">
<head>
<title>Jednoduchá RSS čtečka</title>
<meta charset="utf-8"/>
</head>
<body>
<h1>Jednoduchá RSS čtečka</h1>
<?php
$file = 'https://www.vse.cz/feed/';
//následující kód je ukázkou jednoduchého zpracování RSS zdroje - pozor, RSS zdroje mohou být ve větším množství formátů, které se liší svojí strukturou!
echo '<p>Soubor: <a href="'.htmlspecialchars($file).'">'.htmlspecialchars($file).'</a></p>';
$xml=simplexml_load_file($file);//načteme soubor ze vzdáleného zdroje (za využití fopen wrapperu)
if (!empty($xml->channel)){//zjistíme, jestli v kořenovém elementu existují podelementy "channel"; na elementy v hlavním jmenném prostoru se ptáme jednoduše bez jmenného prostoru...
foreach ($xml->channel as $channel){
echo '<h2>'.htmlspecialchars((string)$channel->title).'</h2>';
if (!empty($channel->link)){
echo '<a href="'.htmlspecialchars((string)$channel->link).'">'.htmlspecialchars((string)$channel->link).'</a>';
}
if (!empty($channel->item)){
echo '<ul>';
foreach ($channel->item as $item){
echo '<li>';
if (!empty($item->link)){
echo '<a href="'.htmlspecialchars((string)$item->link).'">';
}
echo htmlspecialchars((string)$item->title);
if (!empty($item->link)) {
echo '</a>';
}
echo '</li>';
//TODO Zvládli byste upravit výpis tak, aby obsahoval také úryvky článků?
}
echo '</ul>';
}
}
}
?>
</body>
</html>