Extraire du texte entre 2 balises avec php [Résolu/Fermé]

Signaler
Messages postés
270
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
4 mai 2012
-
 Dj -
Bonjour, je cherche la solution qui me permettrai d'extraire du texte entre deux balises en php, et plus précisement les textes qui se situent dans ces 3 lignes :

<a href="/siteinfo/page1.html">Coco </a>
<a href="/siteinfo/page2.html">Riri </a>
<a href="/siteinfo/page3.html">Dada </a>

Donc comment faire pour récupérer les textes Coco, Riri, et Dada en php ?

Ps : je ne veux pas de javascript, car je veux le faire en php.

Merci d'avance, cordialement


6 réponses

Messages postés
18490
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
18 janvier 2021
4 247
<?php
$source = '<a href="/siteinfo/page1.html">Coco</a>
<a href="/siteinfo/page2.html">Riri</a>
<a href="/siteinfo/page3.html">Dada</a>';

preg_match_all('#<a href="(.+)">(.+)</a>#i', $source, $liens);

$nb = 0;
foreach($liens[0] as $complet) {
    $url = $liens[1][$nb];
    $texte = $liens[2][$nb];

    echo 'Lien complet : '.htmlspecialchars($complet).'<br />';
    echo 'URL : '.$url.'<br />';
    echo 'Texte : '.$texte.'<br />';
    echo '<hr />';

    $nb++;
}
?>
18
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
270
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
4 mai 2012
45
Bonjour f16, merci, je vais essayer ça, je vais voir si ça marche.

+1 pour toi, euh non +100 plutot.


A+
Messages postés
270
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
4 mai 2012
45
Merci f16, grace à toi, le problème est résolu.

Quant au hollandais volant, je te remercie pour ton astuce qui était en faite la réponse à ma futur question.

Merci à tous les 2.
Bonjour,
Désolé de reprendre ce vieux sujet, mais il ressemble le plus à ce que je recherche...

Le Code est ok pour moi... Mais comment récupérer du texte se trouvant entre les liens ?
Exemple :
<a href="/siteinfo/page1.html">Coco</a>... Récupérer tout ici...
<a href="/siteinfo/page2.html">Riri</a>... Et ici...
<a href="/siteinfo/page3.html">Dada</a>... Et là...


Merci de voptre aide
Cordialement

DJ
Messages postés
4963
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
31 octobre 2019
1 024
Salut !
Faut le faire avec des regex :

<?php 
$nom = preg_replace('#<[.*]>([a-z]*)</[.*]>#i', '$1', $texte); 
?>


Où $texte est une ligne de code HTML.

(ce code recherchera ce qui se trouve entre des balises et le mettre dans la variable $nom.)
Messages postés
270
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
4 mai 2012
45
Merci à toi aussi