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

Contribuez Delphi Discussion :

Récupérer un texte entre deux balises prédéfinies


Sujet :

Contribuez Delphi

  1. #1
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut Récupérer un texte entre deux balises prédéfinies
    J'ai fait cette petite fonction pour faire un petit dico sans BDD, ainsi de lister des liens d'une page, et d'autres truc, et je veux bien la distribuer, peut être que quelqu'un lui sert une chose
    cette fonction permet de lire un texte entre deux balises prédéfinis (string)
    par exemple : [blabla]Le texte à récupérer[/blabla]
    autre exemple : <developpez>le texte ici<n'importe quel balise de fermeture>
    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Uses
      StrUtils;
    Function GSB(Content ,BLeft, BRight : string) : string;
    var
      Pos1, Pos2 : integer;
    begin
      Pos1 := Pos(Bleft, Content) + length(Bleft);
      Pos2 := PosEx(BRight, Content, Pos1) - Pos1;
      Result := Copy(Content, Pos1, Pos2);
    end;

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Merci

  3. #3
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Merci de ta propisition mais il faudrait traiter les cas Pos1=0 et Pos2=0 sinon le résultat risque d'être imprévu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Pos1 := Pos(Bleft, Content) + length(Bleft);
      Pos2 := PosEx(BRight, Content, Pos1) - Pos1;
      iF (pos1<>0)And(Pos2<>0) Then
        Result := Copy(Content, Pos1, Pos2)
      Else
        Result := 0;
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  4. #4
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    J'ai pensé aussi et j'ai testé sans le changer et ça ne donne rien (vide) si une ou les deux balises n'existes pas (aucun message d'erreur), mais t'as raison il faut mieux traiter les cas de Pos1=0 et Pos2=0, Merci .

  5. #5
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut
    Citation Envoyé par Nono40 Voir le message
    Merci de ta propisition mais il faudrait traiter les cas Pos1=0 et Pos2=0 sinon le résultat risque d'être imprévu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Pos1 := Pos(Bleft, Content) + length(Bleft);
      Pos2 := PosEx(BRight, Content, Pos1) - Pos1;
      iF (pos1<>0)And(Pos2<>0) Then
        Result := Copy(Content, Pos1, Pos2)
      Else
        Result := 0;
    Je suis totalement d'accod; à part le post de "Nono40" qui me
    parais un peut bizard non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Result := Copy(Content, Pos1, Pos2)
      Else
        Result := 0;
    J'ai jamais vu une fontion qui renvoi deux types diffrénts
    ______________________________________________________________________
    Le sketch qui m'a marqué le plus! écoutez les programmeurs : Site de Yan Marchal

  6. #6
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Result := 'Veillez vérifier les balises définies'
    La résultat est d'un type string .

  7. #7
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Result:='' surtout, je n'avais pas compilé.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

Discussions similaires

  1. Récupérer du texte entre deux balises
    Par Alban1 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 07/09/2014, 20h06
  2. Regexp: extraire du texte entre deux balises
    Par moook dans le forum Langage
    Réponses: 11
    Dernier message: 19/06/2007, 18h08
  3. [DOM] [Débutant] Récupérer texte entre deux balises
    Par webrider dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/02/2007, 09h49
  4. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 09h02
  5. supprimer texte entre deux balises specifiques
    Par HurtMarley dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2006, 18h30

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