IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récuperer une chaîne entre deux tags


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Par défaut Récuperer une chaîne entre deux tags
    Salut

    j'aimerais récuperer une chaine contenue en tre deux tags.

    pourriez vous m'aider ?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    En faisant une recherche vous auriez dû trouver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $string = "début <tag>à capturer</tag> fin.";
    if (preg_match('#<tag>(.*)</tag>#Uis', $string, $m)) {
       echo $m[1];
    }
    Ou une version qui capture toutes les occurences situées entre <tag> et </tag> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $string = "début <tag>à capturer</tag> milieu <tag>à capturer bis</tag> fin.";
    $nbOccurences = preg_match_all('#<tag>(.*)</tag>#Uis', $string, $m);
    if ($nbOccurences > 0) { # Test non nécessaire suivant ce que vous faites
        for ($i = 0; $i < $nbOccurences; $i++) {
            echo $m[1][$i] . '<br/>';
        }
    }

  3. #3
    Membre confirmé
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Par défaut
    merci beaucoup
    :]

  4. #4
    Membre confirmé
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Par défaut
    re-salut

    voilà qu'il me faut des-résoudre mon probleme, en effet, j'en ais un autre du meme accabi.

    voila mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    $fichier = "http://www.url-quelconque.fr/fichier-quelconque.html";
     
    $Tag_STR = addslashes('<div id="tagarecuperer">');
    $Tag_STP = addslashes('</div>');
     
    $fp = @fopen($fichier,"r");
    $texte = "";
     
    if($fp)
    {
       while(!feof($fp))
       {
       $texte .= fgets($fp,1024);
       }
     
    	if (preg_match('#'.$Tag_STR.'(.+)'.$Tag_STP.'#i', $texte , $m)) 
    	{ 
    		echo $m[1]; 
    	}
     
    }
    else
    {
    echo("Erreur : Les informations ne peuvent etre récuperées");
    }
    or, quand j'exécute mon code, rien ne se passe. j'ai testé le morceau de reécuperation de $texte, il marche ..

    voyez vous mon erreur ?

    merci, ++ Tix.

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Vous n'avez pas besoin d'appliquer addslahes sur $Tag_STR et $Tag_STP d'autant plus que ce traitement est incorrect. (Il manque le fclose également.)

  6. #6
    Membre confirmé
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Par défaut
    merci.

    Voila mon nouveau code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
     
    $fichier = "http://www.****.fr/bidule.html";
     
    $Tag_STR = '<div id="tag"';
    $Tag_STP = '</div>';
     
    $fp = @fopen($fichier,"r");
    $texte = "";
     
    if($fp)
    {
       while(!feof($fp))
       {
       $texte .= fgets($fp,1024);
       }
     
    	if (preg_match('#'.$Tag_STR.'(.+)'.$Tag_STP.'#Uis', $texte , $m)) 
    	{ 
    		echo $m[1]; 
    	}
     
    }
    else
    {
    echo("Impossible d'ouvrir la page sélectionnée");
    }
     
    fclose($fp);
     
    ?>
    ...qui refuse d'entendre raison, encore.

    voyez vous autre chose ?

    merci, ++ Tix.

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    J'ai testé de mon côté et ça fonctionne très bien. Vous devriez enlever l'arobase devant le fopen (pour tester au moins). allow_url_fopen est à on sur votre serveur ? Pas de métacaractères dans le tag ?

  8. #8
    Membre confirmé
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Par défaut
    merci

    bah, écoutez, j'arrive parfaitement à charger mon fichier, le seul truc vien de mon regex apparemment .... je ne sait plus quoi faire.

Discussions similaires

  1. récuperer une chaine entre deux crochets
    Par anizlewan dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 01/07/2014, 23h26
  2. Regex : récuperer une chaine entre deux guillemets anglais(")
    Par Phonatacid dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 01/06/2011, 12h02
  3. Remplacer une chaîne de caractère entre deux tags seulement
    Par Olistan dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 08/05/2008, 14h56
  4. Passer une variable entre deux fenêtres
    Par DeezerD dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/08/2005, 10h52
  5. Réponses: 14
    Dernier message: 02/05/2005, 19h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo