如何检测URL中特定页面的存在?

I am trying to check whether a particular URL is present in a page supplied by another website.

I need to check whether or not the given URL contains a link to my website.

I am using PHP, and I would like to use preg.

If you know the url you are looking for, can't you use strpos()?

if (strpos($your_html_page, 'your_url') !== false) {
    echo 'The web web page has your_url in it.';
}

This is a simple match - but it doesn't tell you whether it's a hyperlink - just if the url is somwehere in the page. If you want to verify is actually a hyperlink than this approach or a simple regex is not going to help (at least a regex is likely to be fiddly and unreliable). You need to parse the DOM properly, extract out the <a> elements and check against the href attribute.

Well, you fetch the content using streams and then you parse it.

And for the parsing part you could use the simple html dom parser

html = file_get_html('http://stackoverflow.com/');

// Find all links 
foreach($html->find('a') as $element){
   if( preg_match($your_website_url, $element->href) > 0){
      //do something
   }
}

Recently i had to do that...

here is the regular expresion

preg_match_all( '/<a[^>]*href=[\'"]([^\'"]+)[\'"][^>]*>/i', $message, $links );

in th array $links you will have 2 arrays.

0 - The complete <a> tags

1 - The Url of the href attributes