par
chrislabricole » 23 nov. 2008, 12:48
Essaies de le faire toi-même pour t'entrainer, c'est un bon entrainement ça
Voici la correction, je me suis entrainé moi aussi
<?php
// URL à capturer les liens
$link = 'http://www.phpfrance.com/';
// Renvoi TRUE si le lien existe sur la toile et que la page existe... sinon, FALSE
function url_exists($url){
$open = @fopen($url, 'r');
return ($open) ? 1 : 0;
}
// Si l'URL existe
if( url_exists($link) ){
$file = implode('', file($link, FILE_SKIP_EMPTY_LINES) ); // Prise du contenu et ignore les lignes vides
// extraction de l'adresse internet
$pattern = '#<a href="(.*?)"(.*?)>(.*?)</a>#is'; // Motif
preg_match_all($pattern, $file, $out, PREG_PATTERN_ORDER);
echo '<h2>Liens de <b>'.$link.'</b> :</h2>'."\r\n";
$i = 0;
foreach ($out[3] as $linkText) { // $out[3] = tableau les textes des liens
$linkText = utf8_encode(strip_tags($linkText)); // encodage en UTF-8 et suppression des tags HTML
$formatLinkText = (!empty($linkText)) ? $linkText : '<i>N/A</i>'; // Si $linkText = à rien, alors, affichage de de N/A, sinon, affichage du lien...
echo '<b>'.$formatLinkText.'</b> : '.$out[1][$i].'<br />'."\r\n"; // Affichage : texte : lien
$i++; // Incrémentation pour afficher le lien
}
} else {
echo 'Page introuvable ou connexion impossible au site <b>'.$link.'</b>...'; // Renvoi d'un message d'erreur
}
?>

Essaies de le faire toi-même pour t'entrainer, c'est un bon entrainement ça :)
Voici la correction, je me suis entrainé moi aussi :P
[php]<?php
// URL à capturer les liens
$link = 'http://www.phpfrance.com/';
// Renvoi TRUE si le lien existe sur la toile et que la page existe... sinon, FALSE
function url_exists($url){
$open = @fopen($url, 'r');
return ($open) ? 1 : 0;
}
// Si l'URL existe
if( url_exists($link) ){
$file = implode('', file($link, FILE_SKIP_EMPTY_LINES) ); // Prise du contenu et ignore les lignes vides
// extraction de l'adresse internet
$pattern = '#<a href="(.*?)"(.*?)>(.*?)</a>#is'; // Motif
preg_match_all($pattern, $file, $out, PREG_PATTERN_ORDER);
echo '<h2>Liens de <b>'.$link.'</b> :</h2>'."\r\n";
$i = 0;
foreach ($out[3] as $linkText) { // $out[3] = tableau les textes des liens
$linkText = utf8_encode(strip_tags($linkText)); // encodage en UTF-8 et suppression des tags HTML
$formatLinkText = (!empty($linkText)) ? $linkText : '<i>N/A</i>'; // Si $linkText = à rien, alors, affichage de de N/A, sinon, affichage du lien...
echo '<b>'.$formatLinkText.'</b> : '.$out[1][$i].'<br />'."\r\n"; // Affichage : texte : lien
$i++; // Incrémentation pour afficher le lien
}
} else {
echo 'Page introuvable ou connexion impossible au site <b>'.$link.'</b>...'; // Renvoi d'un message d'erreur
}
?>[/php]
;)