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

JavaScript Discussion :

Extraction séquentielle de chaines de caractères d'un div


Sujet :

JavaScript

  1. #1
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut Extraction séquentielle de chaines de caractères d'un div
    Bonjours et joyeuses fêtes
    je cherche la formule javascript qui permettrait d'extraire en boucle chaque phrase contenue dans un DIV id="detailcode"
    sachant que
    1) les codes sont seuls présents dans ce DIV
    2) tous sont entourés de "<" et ">" (sans les "" bien sur...
    3) jamais le contenu des chaines n'ont ni < ni >
    ce qui donne ,je n'ai pas su poser cette question sur Google désolé...
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <DIV id="detailcode">
    < kdkkl4 3 c6.474 7.*qsùmq*mfqsq*qsmq*m147 24.53 12.32 30.75 6.25 l-7.5 -0.5 c7.929 -5.1 ZZ>
    < ddll l4 3 c6.474 7.147 24.53 12.32 30.75 6qdq*dqqmqm*qmdq.25 l-7.5 -0.5 c>
    < dàl4 3 c6.474 7.147 24.53 12.32 30.75 6.25 l-7.5 -0.5 c7.929 -5>
    < plkl4 3 c6.474 7.147 24.53 12.32 30.75 6.25 l-7.5 -0.5 c7.929 -5.1 >
    </DIV>
    Mille mercis d'avance
    Jean-Pierre

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    qu'est ce que vous définissez comme une phrase ?

    est ce que le code que vous présentez est le contenu exact que vous souhaitez analyser ? je demande cela parce que ce code HTML n'est pas valide, il faudrait par exemple remplacer les "&" par "&amp;"

  3. #3
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    mot abusif ,c'est juste un élément type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    < plkl4 3 c6.474 7.147 24.53 12.32 30.75 6.25 l-7.5 -0.5 c7.929 -5.1 >
    après je sais l'exploiter mais chaque DIV en contient 1.000 alors tu vois l’Intérêt pour moi d'avoir un for ... ou while ....
    je serais sauvé

    Nota: il faut que je le récupère intacte ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    équivalent en JS de preg_match_all() en PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    "use strict";
    var string = document.getElementById('detailcode').textContent;
    //  console.log( string ) ;
    // -----------
    var pattern = /\<([^\>]*)\>/gm;
    var match;
    while (match = pattern.exec(string)){ 
      console.log( match[1]); // [1] : contenu des parenthèses de la pattern (sans les < et >)
    }
    // -----------
    Dernière modification par Invité ; 30/12/2019 à 11h30.

  5. #5
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    Merci, je testes !! et reviendrai ...
    Je n'arrives pas a extraire une à une chaque ligne et la placer ou je veux, chaque ligne doit garder les < xxxxxx >
    Merci de changer ton code si possible en javascript ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Avec les < et >, c'est match[0].
    Dernière modification par Invité ; 30/12/2019 à 11h31.

  7. #7
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    Je suis nul ou je vieilli mon ami tu vois j'ai tout essayé comme tu as dit, mais je n’avives même pas à afficher la ligne 1 puis le ligne 2 ....
    tu écrirais quoi au juste.(s'il te plait mets moi un code script comme tu le ferais pour toi, ce serait sympa ,
    par exemple avec un print séparé pour chaque ligne... Merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    console.log() écrit dans la "console" (touche F12-> "console").

    Je ne sais pas où ni comment tu veux l'afficher dans ta page HTML.

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Tu veux garder les "<>"?

    Tu peux faire ça aussi (les index de tabà partir de 1 correspondent à chaque ligne;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const d=document.getElementById("detailcode").textContent;
    const tab=d.match(/<.+>/gm)
    console.log(tab)

  10. #10
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    Merci à vous deux, je comprends maintenant que cela ne génères pas ce contenu, ou je veux,
    cette DIV est cachée, et le visiteur ne recevra dans sa page que les lignes auquel il à droit, encore faut'il que j'ai par exemple un array
    pour faire par exemple:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('reponse').innerHTML = tab[1];  /* Etc... */
    Je peux faire ça ?

  11. #11
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Ben oui, c'est le principe du array...

  12. #12
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    En fait c'est résolu avec split bien plus simple que j'ai découvert sur un autre forum ! Voila !

  13. #13
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Waouh! C'est une belle découverte en effet.
    Et tu nous laisserais un bout de code? Histoire qu'on comprenne à quel point on était très loin de la solution.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par JPongivart Voir le message
    En fait c'est résolu avec split bien plus simple que j'ai découvert sur un autre forum ! Voila !
    Heu..... Jean-Pierre.....
    Tu n'as pas l'impression de nous prendre pour des BILLES.... ??
    C'est :
    • au mieux : vexant
    • au pire : insultant

    Non ?

  15. #15
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    Non nullement, juste étonné que franchement vous ne m'ayez pas aidé mieux que cela, je reçoit en général ici dés que c'est assez simple un code fini et crois moi,
    fut un temps ou tu aidais de cette façon, voila ,alors j'ai voulu vous partager la réponse reçue croyant bien faire, excuses moi et bon réveillon.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Sérieusement ?...

    1- Des solutions, on t'en a donné plusieurs.
    C'est toi qui n'a pas su les utiliser.

    2- Tu n'as rien partagé, puisque tu parles de split, sans montrer aucun code.

    3-
    ...fut un temps ou tu aidais de cette façon...
    Ce n'est pas sérieux...

    Bon Réveillon aussi.

  17. #17
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Mettons un exemple splittant qui n'apporte rien de plus, parce que forcément plus laborieux que match... pour des raisons que je ne donnerai pas car, bien sûr, tu l'auras compris toi-même, JPongivart:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const d=document.getElementById("detailcode").textContent;
    const t=[];
    d.split(/\s?$/m).map(v=>{if(v)t.push(v)});

  18. #18
    Invité
    Invité(e)
    Par défaut
    Ou plus "simplement" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const d = document.getElementById("detailcode").textContent;
    const t = d.trim().split(/\n/m);
    console.log( t );
    Mais en effet, ça n'apporte rien de plus à ce qu'on a déjà proposé.

  19. #19
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Soyons fous! un petit replace; au moins, on progresse, c'est bien. Merci JPongivart!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const t=[];
    d.replace(/(<.+>)/g,(a,b)=>t.push(b));
    console.log(t);

  20. #20
    Invité
    Invité(e)
    Par défaut
    La réponse..... sur un autre forum.....

Discussions similaires

  1. extraction d'une chaine de caractère d'un fichier texte
    Par c_salsabil dans le forum Général Java
    Réponses: 1
    Dernier message: 31/12/2009, 15h27
  2. Réponses: 7
    Dernier message: 05/04/2009, 10h40
  3. Réponses: 2
    Dernier message: 05/03/2009, 16h06
  4. Extraction d'une chaine de caractère
    Par ozzy75 dans le forum Développement
    Réponses: 0
    Dernier message: 26/10/2008, 11h23
  5. Extraction d'une chaine de caractères
    Par megane dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2004, 14h52

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