Trouver un lien dans un fichier
Arbitta
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un fichier text "fich.txt" qui contient un code source simple d'une page html
je veux insérer ses liens dans un autre fichier . J'ai essayé ce code mais il ne m'insère que le dernier lien.
Je veux insérer dans mon nouveau fichier lien.txt seulement les noms du lien et non pas tout le code (<a href="..."></a>) :
lien1
lien2
lien3
lien4
Pouvez vous m'aidez s'il vous plait :)
merci
j'ai un fichier text "fich.txt" qui contient un code source simple d'une page html
<html> <body> <p> <a href="lien1"> </a> <a href="lien2"> </a> <a href="lien3"> </a> <a href="lien4"> </a> </p> </body> </html>
je veux insérer ses liens dans un autre fichier . J'ai essayé ce code mais il ne m'insère que le dernier lien.
<?php $fp=fopen("fich.txt","r+"); $finlink="<a"; $position=array(); $i=0; while (!feof($fp)) { $cont=fgets($fp,1024); $i++; if (strstr($cont,$findlink)) { echo ("la position du lien est : ".$i."<br>"); if ( preg_match( '@href="([^"]+)"@' , $cont, $match ) ) { $alt = array_pop($match); echo ("votre lien est <br> ".$href."<br>"); $fln=fopen("lien.txt","w"); fwrite ($fln,$cont); fwrite($fln,"\r\n"); }}} fclose($fp); fclose($fln); ?>
Je veux insérer dans mon nouveau fichier lien.txt seulement les noms du lien et non pas tout le code (<a href="..."></a>) :
lien1
lien2
lien3
lien4
Pouvez vous m'aidez s'il vous plait :)
merci
A voir également:
- Trouver un lien dans un fichier
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Créer un lien pour partager des photos - Guide
- Fichier rar - Guide
2 réponses
Bonjour, je ne fais pas de PHP, mais j'aurais tendance à utiliser une regex pour trouver les liens
https://www.commentcamarche.net/contents/803-php-expressions-regulieres
https://www.commentcamarche.net/contents/803-php-expressions-regulieres
Salut,
Une solution plus simple avec la classe DOMDocument :
Utilise la méthode loadHTMLFile() à la place de loadHTML() pour charger le html depuis un fichier.
Bonne journée
Une solution plus simple avec la classe DOMDocument :
$liens = array(); $doc = new DOMDocument(); $doc->loadHTML('<html> <body> <p> <a href="lien1"> </a> <a href="lien2"> </a> <a href="lien3"> </a> <a href="lien4"> </a> </p> </body> </html>'); $ancres = $doc->getElementsByTagName('a'); foreach ($ancres as $ancre) { $liens[] = $ancre->getAttribute('href'); } var_dump($liens); // array(4) { [0]=> string(5) "lien1" [1]=> string(5) "lien2" [2]=> string(5) "lien3" [3]=> string(5) "lien4" }
Utilise la méthode loadHTMLFile() à la place de loadHTML() pour charger le html depuis un fichier.
Bonne journée