У меня (наверное) простой вопрос по PHP.Я вытягиваю расписание из RSS-канала.Вывод RSS выглядит так:
17th Jan 2011 : Day 2
18th Jan 2011 : Day 3
19th Jan 2011 : Day 4
20th Jan 2011 : Day 5
Я пытаюсь удалить всю информацию, поэтому остается только «День x».Расписание выполняется по 8-дневному циклу, однако я ограничиваю парсер RSS только одним днем, поэтому я получаю текущий день.
Я использую это, чтобы вытащить RSS:
$rss->parse();
$rss->showStories('1');
После небольшого изменения я придумал это.
$i=1;
while($i<=8) {
if (preg_match("/Day 3/i", "Day ".$i)) {
echo $i;
} else {
$i++;
}
}
Очевидно, проблема начинается здесь:
if (preg_match("/Day 3/i", "Day ".$i)) {
Я хочу, чтобы он нашел текущее расписание и затем отобразил соответствующие данные.Правильно ли я подхожу к этому, может кто-нибудь указать мне правильное направление, пожалуйста?
Спасибо!
РЕДАКТИРОВАТЬ: Фиксированный код ниже для тех, кто хочет:
<?php
$url = "";
$rss = simplexml_load_file($url);
if($rss) {
$items = $rss->channel->item;
foreach($items as $item) {
foreach ($item->title as $story) {
if (!preg_match(date("/jS M Y/"), $story)) continue;
preg_match("/Day (\d+)/", $story, $m);
echo $m[1]; // should print "2" if today is January 17
break; // stop searching
}
}
}
?>