Php 特定行/短语的卷曲

Php 特定行/短语的卷曲,php,curl,Php,Curl,我正在尝试对searchbug.com进行卷曲,看看它是否返回短语:“VoIP(IP语音,互联网电话)”,如果它返回该短语,则使$VoIP==TRUE 这是我所拥有的,我确信我错过了一些东西。非常感谢您对我的任何帮助 $url = 'http://www.searchbug.com/tools/landline-or-cellphone.aspx?&FULLPHONE=2093201364'; $useragent = 'Mozilla/5.0 (Windows; U; Windows

我正在尝试对searchbug.com进行卷曲,看看它是否返回短语:“VoIP(IP语音,互联网电话)”,如果它返回该短语,则使$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; }

第一点。不要将主体从输出中排除

您使用:

curl_setopt($ch, CURLOPT_NOBODY, true);
说:

CURLOPT_NOBODY-TRUE将主体从输出中排除

第二点。更好地检查响应

你做什么。您将“VoIP(IP语音,Internet电话)”字符串值指定给$response,然后检查它是否为NOTNULL。是的,它不是空的

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可能包含大量数据。所以可能会有帮助