【问题标题】:Check if a website contains a string检查网站是否包含字符串
【发布时间】:2015-10-11 18:55:47
【问题描述】:

请帮我解决这个问题。我不擅长解释,我的语法也不是很好,所以请多多包涵。

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

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。我想检查整个页面,即我不知道应该使用什么代码。

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

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

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

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

    【讨论】:

    • 哦,这就是为什么,我只得到可用的。我将此作为我的参考stackoverflow.com/questions/7118823/… 但顺便说一句,你能帮我解决我的问题吗?
    • 您引用的问题不是检查页面的 HTML,它只是检查 URL 以查看其中是否包含“汽车”一词。不幸的是,我不能为你重写你的代码。如果您还有更多问题,请随时提问。
    猜你喜欢
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2011-11-09
    • 2013-05-18
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    相关资源
    最近更新 更多