Hallo allemaal,

Voor intern gebruik zou ik graag een tool willen bouwen die externe links checkt op aanwezigheid. Ik wil in een backend kunnen controleren of mijn <a href="">link</a> nog aanwezig is.

Voor de duidelijkheid, ik druk in een back-end op controleren. Vervolgens wordt de html broncode van bijvoorbeeld http://google.nl/ doorzocht op aanwezigheid van de volgende code:

<a href="http://mijnsite.nl" title="mijnsite">mijnsite</a>


Wanneer deze aanwezig is moet hij bijvoorbeeld 1 terug geven, anders 0 (maar dit kan ik zelf ook wel). Mijn vraag ligt voornamelijk in het uitlezen van externe broncode en het zoeken naar die html code (preg_match?)

Alvast bedankt!
Met onderstaande code kan je kijken wat voor foutmelding er terug komt.


$ch = curl_init('http://www.mijndomein.nl/');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_TIMEOUT,10);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// return HTTP Protocol Code
//ETC. 400Bad Request, 200OK (no error), 201Created, 202Accepted
//zo zijn er nog meer error codes .. die kan je vast wel vinden.
echo $httpcode;


[size=xsmall]Toevoeging op 09/08/2010 19:49:58:[/size]

Ging nog even google voor je .. zie http://nadeausoftware.com/articles/2007/06/php_tip_how_get_web_page_using_curl

Heb heb gelijk even voor je aangepast .. code werkt ook .. je kan hem zelf wel mooi opmaken .. ;-)


function get_web_page( $url )
{
    $options = array(
        CURLOPT_RETURNTRANSFER => true,     // return web page
        CURLOPT_HEADER         => false,    // don't return headers
        CURLOPT_FOLLOWLOCATION => true,     // follow redirects
        CURLOPT_ENCODING       => "",       // handle all encodings
        CURLOPT_USERAGENT      => "spider", // who am i
        CURLOPT_AUTOREFERER    => true,     // set referer on redirect
        CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
        CURLOPT_TIMEOUT        => 120,      // timeout on response
        CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
    );

    $ch      = curl_init( $url );
    curl_setopt_array( $ch, $options );
    $content = curl_exec( $ch );
    $err     = curl_errno( $ch );
    $errmsg  = curl_error( $ch );
    $header  = curl_getinfo( $ch );
    curl_close( $ch );

    $header['errno']   = $err;
    $header['errmsg']  = $errmsg;
    $header['content'] = $content;
    return $header;
}

$array = get_web_page('http://www.mijndomein.nl');

if(stristr($array['content'], 'ik zoek')){ 
	//echo "string found" ; 
	return true;
} else
	{		
		//echo "string not found" ;
		return false;
	}
Die check is vrij eenvoudig. Lastiger wordt het als de link dmv css onzichtbaar wordt gemaakt.
Helemaal super, daar kan ik zelf mee aan de slag :)

Reageren