检查网页中是否存在字符串

时间:2012-03-06 01:45:39

标签: php curl

我正在尝试使用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";
}

当我运行它时,它总是输出“是”。 我的代码有什么问题,我该怎么做?

2 个答案:

答案 0 :(得分:7)

您需要的两个功能是cURLstrpos()

<?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