2012-05-15 3 views
0
function findit($gbq, $kwords){ 

$original_file = file_get_contents($gbq); 

$keytar = $kwords; 
$ckeytar = strtoupper($keytar); 
$okeytar = strtolower($keytar); 

$arrit = array(
    "original" => $keytar, 
    "ocap" => $ckeytar, 
    "olow" => $okeytar, 
); 

if(strpos($original_file, $arrit['original']) == true) { 
    $fp = fopen("linkter.html", 'a'); 
    fwrite($fp, "<a href='" . $gbq . "' style='color:orange;'>" . $gbq . "</a>"); 
    fclose($fp); 
} 
elseif(strpos($original_file, $arrit['ocap']) == true) { 
    $fp = fopen("linkter.html", 'a'); 
    fwrite($fp, "<a href='" . $gbq . "' style='color:red;'>" . $gbq . "</a>"); 
    fclose($fp); 
} 
elseif(strpos($original_file, $arrit['olow']) == true) { 
    $fp = fopen("linkter.html", 'a'); 
    fwrite($fp, "<a href='" . $gbq . "' style='color:green;'>" . $gbq . "</a>"); 
    fclose($fp); 
} 
else{ 
    echo "String not found"; 
} 

}StrPos пустых разделители

почему-то говорит, что есть пустой разделитель во втором условном (на $ arrit [ 'OCAP'] один).

Я читал некоторые другие ответы, но я не нашел тот, который работает (или что я думаю, что будет работать)

+0

Вы подтвердили, что '$ arrit ['ocap']' действительно имеет значение? –

+0

Что значит? –

+0

Я не очень часто использую PHP, поэтому извините за то, что не очень разбираюсь. –

ответ

0

Что происходит, когда вы упростить вещи, используя stripos() вместо strpos() следующим образом:

function findit($gbq, $kwords) 
{ 
    $original_file = file_get_contents($gbq); 

    if (stripos($original_file, $kwords) !== false) 
    { 
     $fp = fopen("linkter.html", 'a'); 
     fwrite($fp, "<a href='" . $gbq . "' style='color:orange;'>" . $gbq . "</a>"); 
     fclose($fp); 
    } 
    else 
    { 
     echo "String not found"; 
    } 
}