Monday, January 16, 2012

Find a url in content a site by url it?


I want search into content a site by url it site, if existence my url (for example: http://www.mydomain.com/ ) return it is TRUE else it is FALSE.



If existence url as following list, Return it is 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



I want just accsept(find) as(only):



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



I tried as:




$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';
}



But it doesn't worked, for it what that i want. How can fix it?

1 comment:

  1. You should not be using preg_quote on your link as it is already in a regex form. Try using the entire regex /http:\/\/mydomain.com/m instead.

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


    I've also updated strstr to be stripos and to have an absolute comparison as it's not a boolean safe function.

    ReplyDelete