Verifier si un lien (ou une chaine de caracteres) est present dans le contenu d'un site.

Description

Bonjour, je suis nouveau sur ce site et c'est la première fois que je poste une source ...
Fonction permettant de vérifier la présence d'un lien (pour mon utilisation) ou d'une chaîne de caractères sur l'ensemble des pages d'un site.

Source / Exemple :


<?php

// Function permettant de verifier l'existance d'un lien retour situé sur une page accesible depuis la page d'acceuil 
// d'un nom de domaine precis
// $page_source = le nom de domaine sur lequel on souhaite effectué la rechercher ex:"http://nomdusite.com"
// $lien_a_verifier = le lien ou la chaine de caracteres a recherché ex:"nomdusite.com" 

function check_lien_retour($page_source,$lien_a_verifier)
{
	//Chargement du contenu de la page dans une variable
	$page = file_get_contents($page_source);
	
	//Recherche une chaine terminant par: .htm ou .html ou .php ou .asp ou .aspx
	// et ne contenant que des caracteres autorisé dans une url
	
	$regex = '#';
	$regex .='[\+%\/a-z0-9._-]+\.php'; // pour l'extention php
	$regex .='|[\+%\/a-z0-9._-]+\.html'; // pour l'extention html
	$regex .='|[\+%\/a-z0-9._-]+\.aspx'; // pour l'extention aspx
	$regex .= '#i';

	
	preg_match_all($regex,$page,$resultat,PREG_PATTERN_ORDER);
	
	// creation du regex de la chaine a verifier
	$lien_a_verifier="#".$lien_a_verifier."#i";
	
	// Affiche les liens situé sur la page d'acceuil vers d'autre pages
	 echo '<textarea rows="20" cols="50" >';
	 print_r($resultat);
	 echo '</textarea><br/>';

	//Listage des liens trouvés
	foreach ($resultat[0] as $liens) 
		{
			// Donne l'URL exacte de la page a verifier
			$liens=$page_source."/".$liens;
			//echo $liens."<br/>";
			// Verifie l'existence d'une chaine de caracteres comprenant le lien a verifier
			$page0 = implode("", file($liens));
			
			
			if(preg_match($lien_a_verifier ,$page0))
				{ 
					// Si la chaine existe
					$url_presente=true;
					$url_page_du_liens = $liens;
				} 
			
			
		}
	if($url_presente==true)
				{ 
					echo 'lien présent sur le site: <a href="'.$page_source.'" target="_blank">'.$page_source.'</a> sur cette page: <a href="'.$url_page_du_liens.'" target="_blank">'.$url_page_du_liens.'</a><br/>'; 
				} 
			else 
				{ 
					echo 'lien absent sur le site: <a href="'.$page_source.'" target="_blank">'.$page_source.'</a><br/>'; 
				}

}// Fin de la function

Conclusion :


N'hésitez pas a me donner des conseils pour améliorer ce script qui est, je pense, loin d'être parfait.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.