Найти URL в содержании сайта по URL это? - PullRequest
0 голосов
/ 16 января 2012

Я хочу выполнить поиск по содержанию сайта по URL этого сайта, если существует мой URL (например: http://www.mydomain.com/) вернуть это ИСТИНА, иначе это ЛОЖЬ.

Если URL-адрес существования указан в следующем списке, верните ЛОЖЬ:

 - 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 голосов
/ 16 января 2012

Вы не должны использовать 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, чтобы он стал полосой и имел абсолютное сравнение, поскольку это не логическая безопасная функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...