Extraire du texte entre 2 balises avec php

Résolu
JessayeDeTrouver Messages postés 300 Statut Membre -  
 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

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    <?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
  2. JessayeDeTrouver Messages postés 300 Statut Membre 47
     
    Bonjour f16, merci, je vais essayer ça, je vais voir si ça marche.

    +1 pour toi, euh non +100 plutot.

    A+
    4
  3. JessayeDeTrouver Messages postés 300 Statut Membre 47
     
    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.
    3
  4. Dj
     
    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
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. le hollandais volant Messages postés 5294 Statut Membre 1 059
     
    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.)
    0
  7. JessayeDeTrouver Messages postés 300 Statut Membre 47
     
    Merci à toi aussi
    0