noindex с иключениями

Kimtom

Новичок
Привет, не могу разобраться в куске кода cms datalife engine.
Смысл в том, что нужно загонять все ссылки, кроме тех, которые в .txt файле, в <noindex></noindex>

вот сам парсер ссылок:
PHP:
if ($this->safe_mode AND !$config['allow_search_link'])
                                return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $show . "</a>" . $url['end'];
                        else            
                                return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $show . "</a>" . $url['end'];

а вот мой код:
PHP:
//(!file_exists("exceptions.txt")) ? echo 'Файл исключений не существует!' : echo '';
 
$exfile=file("exceptions.txt");
        if(!exfile)
        {
                echo("Ошибка открытия файла исключений!");
        }
$fstr=count($exfile);
for ($i=0;$i<$fstr;$i++)
        {
                if ($exfile[$i]==$target) 
                        return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $show . "</a>" . $url['end'];
                else            
                        return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $show . "</a>" . $url['end'];
        }

Мне не ясно с чем сравнивать $exfile[$i].
ах да, не хочет работать короткая форма if'a: syntax error, unexpected T_ECHO in...line 3 не ясно почему.
 

AmdY

Пью пиво
Команда форума
тернарный оператор используется для сокращения приравнивания, а не как полноценная замена if else
у тебя ошибка if(!exfile), нужно if(!$exfile), разрабатывай с включёнными $_NOTICE
 

Kimtom

Новичок
Сегодня понял глупость своего творения. Ссылка ведь может быть не прямой, в моем случае нужно что бы яндекс директ оставался в индексе, а остальное нет, а у яндекса динамические ссылки. Потому переделал с использованием strpos:
PHP:
$exfile=file("exceptions.txt");
if(!$exfile) echo("Ошибка открытия файла исключений!");
$fstr=count($exfile);
for ($i=0;$i<$fstr;$i++)
	{
	$pos=strpos($target,$exfile[$i]);
	if ($pos===false) 
		return "<noindex><a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $show . "</a></noindex>" . $url['end'];
	else		
		return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $show . "</a>" . $url['end'];
	}
 
Сверху