Сначала исправьте первый IF, который не имеет {
, когда я действительно думаю, что он должен
Затем у вас есть 2 IF, где каждый может вывести сообщение, и, конечно, в большинстве случаев, по крайней мере, один из них будет потому что они оба проверяют $f->description
на разные вещи, поэтому, по крайней мере, один ДОЛЖЕН НЕ УКАЗАТЬСЯ и go в ELSE часть IF
. Поэтому используйте здесь if elseif else
, чтобы получить только OPEN
один раз за л oop.
require_once 'feed.php';
$title = 'Ev 134';
foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f ) {
if (strpos($f->title, $title) !== false) {
// added -------------- ^
$green_color = 'green';
$orange_color = 'orange';
$red_color = 'red';
$closed_text = 'stengt';
$kolonne_text = 'Kolonnekjøring';
$exception_text = 'kan bli';
if (strpos($f->title, $title) !== false){
if(strpos($f->description, $closed_text) !== false){
echo (strpos($f->description, $exception_text) === false) ?
'<span style="color:'.$red_color.'">CLOSED</span>' :
'<span style="color:'.$green_color.'">OPEN</span>' ;
} else if(strpos($f->description, $kolonne_text) !== false){
echo (strpos($f->description, $exception_text) === false) ?
'<span style="color:'.$orange_color.'">MAINTENANCE</span>' :
'<span style="color:'.$green_color.'">OPEN</span>' ;
} else {
echo '<span>OPEN</span>';
}
}
}
}