Php 特定行/短语的卷曲
我正在尝试对searchbug.com进行卷曲,看看它是否返回短语:“VoIP(IP语音,互联网电话)”,如果它返回该短语,则使$VoIP==TRUE 这是我所拥有的,我确信我错过了一些东西。非常感谢您对我的任何帮助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
$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可能包含大量数据。所以可能会有帮助