检查网站是否包含字符串

时间:2015-07-22 04:41:01

标签: php mysql arrays

请帮我解决这个问题。我不善于解释,而且我的语法也不好,所以请耐心等待。

我的客户想要一个自动搜索某个网站制造部件号的网站。

http://www.digipart.com/

自动搜索的代码正常运行,没有错误。但是,我的客户想要检查从数据库保存的每个制造部件号,如果它有搜索结果,这里是我的代码:

$searchmfgpn =@mysql_query("select mfg_pn from bom_crunching; ");
//@mysql_query($searchmfgpn,$connect)or die("Failed to execute query:<br />" . mysql_error(). "<br />" . mysql_errno());
while($row = mysql_fetch_array($searchmfgpn))
{
    $searchkeyword =$row['mfg_pn'];
    echo "<pre>";
    echo $searchkeyword;    
    echo "</pre>";
    $digipart ="http://www.digipart.com/part/".$searchkeyword;
    //echo "<iframe src=".$digipart." width ='1200' height ='600'></iframe>";
    $string = "We are sorry, but no result was found for '$searchkeyword' Please try again."; 

    if (strpos($digipart,$string) !== false) {
    echo 'Not Available.';
    } else {
    echo 'Available';
    }

}

代码没有给我任何错误,但是我用来检查它是否可用的代码是不正确的。它只检查URL。我想查看整个页面,我不知道应该使用哪些代码。

我该如何解决这个问题?任何帮助将不胜感激!!

1 个答案:

答案 0 :(得分:1)

看起来您希望$digipart成为搜索结果页面的HTML,然后您使用strpos($digipart, $string)检查错误是否在页面上。这是不正确的。

$digipart设置为"http://www.digipart.com/part/".$searchkeyword; - 它不是页面的HTML,而是将URL本身作为字符串。因此,当您将错误($string)与$digipart变量进行比较时,它始终为false