通过网址在网站内容中找到网址吗?

时间:2012-01-16 15:21:02

标签: php curl

我希望通过url it site搜索网站内容,如果存在我的网址(例如:http://www.mydomain.com/)则返回TRUE,否则为FALSE。

如果存在url如下列表,则返回为FALSE:

 - http://www.mydomain.com/blog?12
 - www.mydomain.com/news/maste.php
 - http://www.mydomain.com/mkds/skas/aksa.html
 - www.mydomain.com/ 
 - www.mydomain.com

我想要(仅)承认(找到):

http://www.mydomain.com/http://www.mydomain.com

我试过:

    $url = 'http://www.usersite.com';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $contents = curl_exec($ch);
    curl_close($ch);
    $link="/http:\/\/mydomain.com/";
    if(preg_match("/". preg_quote($link,"/"). "/m", $contents) && strstr($contents,"http://www.mydomain.com")){
        echo 'TRUE';
    } else{
        echo 'FALSE';
    }  

但它不起作用,因为它是我想要的。怎么解决它?

1 个答案:

答案 0 :(得分:0)

您不应该在链接上使用preg_quote,因为它已经是正则表达式。请尝试使用整个正则表达式/http:\/\/mydomain.com/m

$link="/http:\/\/mydomain.com/m";
if(preg_match($link, $contents) && false!== stripos($contents,"http://www.mydomain.com")){
    echo 'TRUE';
} else{
    echo 'FALSE';
}  

我还将strstr更新为stripos并进行绝对比较,因为它不是布尔安全函数。