2012-01-16 10 views
1

コードニッターを使用しています。サイト内容で何単語か検索したいのですが、サイト内に存在するかどうか?そのサイト内に単語(すべての単語)が存在する場合はFALSEとなります。私は次のようにコードを試みましたが、エラーが発生しました。どのようにそれを行うことができますか?サイト内のコンテンツをPHPで検索

DEMO:http://codepad.viper-7.com/rFiL01

<?php 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL,'stackoverflow.com'); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     $contents = curl_exec($ch); 
     curl_close($ch); 
     $link[] = array("Questions", "Favorite", "myfoodho"); 
       foreach($link as $val){ 
        stristr($contents,$val); // Line 148 
        //if(){ 
        //  return true; 
        //}else{ 
        // return false; 
        //} 
       } 
?> 

エラー:あなたは別の配列を含む配列を作成している

$link[] = array("Questions", "Favorite", "myfoodho"); 

を書く

A PHP Error was encountered

Severity: Warning

Message: stristr() [function.stristr]: needle is not a string or an integer

Filename: views/exchange.php

Line Number: 148

答えて

3

、それは次のとおりです。

array(
    0 => array(
     "Questions", 
     "Favorite", 
     "myfoodho" 
    ) 
) 

foreachループでは、外部配列を経由しているだけなので、$valには文字列値ではなく内部配列が含まれています。

解決策は、角括弧を削除し、配列に変数を割り当てることです。

$link = array("Questions", "Favorite", "myfoodho"); 

デバッグのヒント:エラーメッセージが「針は、文字列または整数ではありません」と言います。その関数の「針」は2番目のパラメータです(わからない場合はthe docsにチェックしてください)。それは文字列または整数ではない場合は、その後、値が実際にあるかどうか確認するために、その行の前var_dump($val)権利を追加することができます。

関連する問題