2012-01-16 138 views
0

我想通過網址搜索內容網站,如果存在我的網址(例如:http://www.mydomain.com/)返回它爲TRUE否則它是FALSE。通過網址在網站內容中查找網址嗎?

如果存在網址如下列表,換來的卻是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 

我只想accsept(發現)爲(只):

http://www.mydomain.com/ OR 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'; 
    } 

但它不起作用,因爲它是什麼在我想要的。如何解決它?

回答

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函數,並具有絕對的比較,因爲它不是一個布爾安全功能。

+0

我只想(只)搜索'http:// www.mydomain.com /'或'http:// www.mydomain.com',但是如果在內容存在的頂級代碼中只有一個url:'www .mydomain.com/news/maste.php'返回它是TRUE,但我想搜索(查找)唯一的URL,如:http:// www.mydomain.com /'或'http://www.mydomain .com'在內容它的網站。 – 2012-01-16 15:40:14

+0

在這種情況下,你只需要一個擴展正則表達式。可能只是指定哪些字符不能跟隨結束。 '[^ A-Za-z \?]' – 2012-01-16 15:42:23

+0

我不知道,請給我一個演示在這裏:codepad.viper-7.com或更新您的代碼在上面的帖子。 – 2012-01-16 15:43:37