Ben (muhtemelen) basit bir PHP soru var. Bir RSS beslemesi bir program çekiyorum. RSS çıkış gibi gibi görünüyor:
17th Jan 2011 : Day 2
18th Jan 2011 : Day 3
19th Jan 2011 : Day 4
20th Jan 2011 : Day 5
Ben bu yüzden sadece "Gün x" kalan tüm bilgileri kaldırmak için çalışıyorum. Program ancak ben bu yüzden geçerli gün olsun tek Günü RSS ayrıştırıcı sınırlayıcı ediyorum, bir 8 gün döngüsü çalışır.
Ben RSS çekmek için bu kullanıyorum:
$rss->parse();
$rss->showStories('1');
Müdahalesi biraz sonra ben bu ile geldi.
$i=1;
while($i<=8) {
if (preg_match("/Day 3/i", "Day ".$i)) {
echo $i;
} else {
$i++;
}
}
Açıkçası sorun burada başlıyor:
if (preg_match("/Day 3/i", "Day ".$i)) {
Ben bu geçerli program gün ne olduğunu bulmak istiyor ve ardından gelen verileri görüntüler. Bu doğru bir şekilde yaklaşıyor muyum Birisi bana doğru yönde lütfen işaret olabilir?
Teşekkürler!
EDIT: Sabit kodu isteyen herkese için aşağıdaki gibidir:
<?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
}
}
}
?>