我正在尝试卷曲searchbug.com以查看它是否返回短语:“VoIP(IP语音,网络电话)”如果它返回,那么make $ voip == TRUE;
这就是我所拥有的,我相信我在这里遗漏了一些东西。我非常感谢能得到的任何帮助!
$url = 'http://www.searchbug.com/tools/landline-or-cellphone.aspx?&FULLPHONE=2093201364';
$useragent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2';
$ch = curl_init($link);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if ($response="VoIP (Voice over IP, Internet Phone)") { $voip==True; }
答案 0 :(得分:1)
第一点。不要从输出中排除正文。
您使用:
curl_setopt($ch, CURLOPT_NOBODY, true);
CURLOPT_NOBODY - TRUE,用于从输出中排除正文。
第二点。更好地检查回复
你做什么。您将“VoIP(Voice over IP,Internet Phone)”字符串值分配给$ response,然后检查它是否为null。是的,它不是空的。
if ($response="VoIP (Voice over IP, Internet Phone)") { $voip==True; }
然后php执行
第三个错误点:
$voip==True; // Wrong! It is a conditional expression
$voip = true; // Ok;
Drop curl_setopt($ ch,CURLOPT_NOBODY,true);并试着这样做:
if ( strpos($response, "VoIP (Voice over IP, Internet Phone)") !== false )
{
$voip = true;
}
$ response可能包含大量数据。因此strpos可能会有所帮助。