我正在尝试使用curl来检测远程网页的源代码中是否存在一段文本。例如,我正在尝试查看源中是否存在此字符串:
<!-- BEGIN TEST CODE -->
如果它存在于远程网页的HTML源代码中(例如,example.com),我想回答“是”。如果源中不存在,我希望它回显“否”。
这是我到目前为止所尝试的:
$ch = curl_init("http://www.example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$text = curl_exec($ch);
$test = strpos($text, "<!-- BEGIN TEST CODE -->");
if ($test==false)
{
echo "yes";
}else{
echo "no";
}
当我运行它时,它总是输出“是”。 我的代码有什么问题,我该怎么做?
答案 0 :(得分:7)
您需要的两个功能是cURL
和strpos()
。
<?php
$ch = curl_init("http://www.example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$text = curl_exec($ch);
$test = strpos($text, "<!-- BEGIN TEST CODE -->");
if ($test==false)
{
echo "no";
}
else
{
echo "yes";
}
?>
答案 1 :(得分:0)
您是否尝试过使用$is_a_test = strpos($the_page_text, "<!-- BEGIN TEST CODE -->");
?
PHP strpos()文档:http://www.php.net/manual/en/function.strpos.php