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

C# Discussion :

retirer les balises html d'une chaine de caractères


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut retirer les balises html d'une chaine de caractères
    bonjour

    j'aimerai savoir comment, avec une chaine de caractère donné, retirer les balises html et mettre bien sûr ce qu'il faut à la place, dans le cas où c'est possible .. ?

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Un HTML étant, à la base, un XML, tu peux utiliser le XMLDom ou XMl Linq pour manipuler la structure.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    ok mais as tu un exemple d'utilisation de ça?

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par johnaliashead Voir le message
    ok mais as tu un exemple d'utilisation de ça?
    Pour ce cas particulier, non, mais c'est assez trivial a priori.

    Tu prends le contenu du noeud HTML (ça tombe bien c'est celui de plus haut niveau) et tu le mets dans un autre document Xml.

    Je ne vois pas trop bien quelle difficulté tu peux rencontrer à ce stade.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    et bien ce que je ne comprend pas c'est que j'ai une chaine de caractère, contenant de l'html (balises, accentuation etc..) et j'aimerai faire une manip pour remplacer, par exemple, un <br> en \n etc.. et quelques lignes de code m'aiderai à y voir plus clair car je n'ai jamais fais cette manip, mais bon je vais creuser sur les indices que tu m'as donné

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par johnaliashead Voir le message
    et bien ce que je ne comprend pas c'est que j'ai une chaine de caractère, contenant de l'html (balises, accentuation etc..) et j'aimerai faire une manip pour remplacer, par exemple, un <br> en \n etc.. et quelques lignes de code m'aiderai à y voir plus clair car je n'ai jamais fais cette manip, mais bon je vais creuser sur les indices que tu m'as donné
    Ah, je croyais que tu souhaitais enlever les balise <HTMl> et </HTML> du document; ce n'était pas vraiment clair.

    Dans ce cas, la manip via Xml n'est pas forcément la plus simple.

    Traite le document sous forme d'une chaine de caractére et utilise la méthode Replace, tout simplement.

    Si tu veux faire des trucs plus sophistiqués, utilise éventuellement les RegEx.

    Enfin, si ce que tu veux faire est vraiment tordu, utilise le XML Dom (ou XML Linq) pour sélectionner et lire le contenu, (ainsi tu peux sélectionner noeud à noeud par exemple) et le traitement de chaine pour faire tes remplacements.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    arf oui c'est malheureusement bien ce que je pensais.. c'est dommage de devoir se palucher tous les replace et qu'il n'existe rien de déjà tout fait, ou même géré directement dans le framework.. va pour les regex et les replace alors.. merci pour ton aide

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par johnaliashead Voir le message
    arf oui c'est malheureusement bien ce que je pensais.. c'est dommage de devoir se palucher tous les replace et qu'il n'existe rien de déjà tout fait, ou même géré directement dans le framework..
    Euh ... un framewok c'est quand même pas fait pour gérer des trucs marginaux.

    Si tu as une structure précise de ton document HTML, tu peux aussi envisager une transfo XSLT.

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Points : 674
    Points
    674
    Par défaut
    As tu essayé avec les expressions régulières? Pour un truc simple comme ça ça devrait le faire...

    Oui, sinon XSLT c'est aussi une solution.

    Sinon, il y a des librairies pour gérer le HTML, du style HTML agility pack

    Christophe

  10. #10
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 65
    Points
    65
    Par défaut
    sinon il y a les Regex...c'est juste fait pour...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var x = Regex.Replace("fjnsdfbds j<br/>eygfriezugrzeiur<br/>fdssd ", "<br/>", "\n", RegexOptions.Multiline);

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Un HTML étant, à la base, un XML, tu peux utiliser le XMLDom ou XMl Linq pour manipuler la structure.
    Oui enfin en théorie... la plupart des parseurs XML ont besoin que le document soit bien formé (i.e. tags bien fermés, attributs entre guillemets, etc). C'est rarement le cas en HTML, sauf peut-être en XHTML strict

    Citation Envoyé par moumoune65 Voir le message
    sinon il y a les Regex...c'est juste fait pour...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var x = Regex.Replace("fjnsdfbds j<br/>eygfriezugrzeiur<br/>fdssd ", "<br/>", "\n", RegexOptions.Multiline);
    Non, c'est pas "juste fait pour", c'est même assez mal adapté pour parser du HTML (voire complètement inadapté selon certains )

    Mais bon, là il s'agit pas vraiment de parser, juste d'enlever les tags, donc ça peut faire l'affaire. C'est quand même un peu du bricolage je trouve...

    Citation Envoyé par chrisdot Voir le message
    Sinon, il y a des librairies pour gérer le HTML, du style HTML agility pack
    Sans doute la meilleure solution

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    ok merci pour tous ces conseil.. j'ai trouvé ce qu'il me fallait.. je fait une appli silverlight et j'ai utilisé un richTextEditor pour afficher mes infos, qui prend les caractères html pour les afficher normalement.. et ça tourne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enlever les balises html d'une colonne
    Par cec38ch dans le forum PL/SQL
    Réponses: 4
    Dernier message: 15/11/2012, 11h22
  2. Enlever les balises HTML d'une chaine de caractère
    Par okoweb dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2011, 17h19
  3. Liste balises HTML dans une chaine
    Par moog dans le forum Langage
    Réponses: 3
    Dernier message: 30/03/2011, 17h47
  4. Réponses: 1
    Dernier message: 12/04/2007, 16h54
  5. Afficher des balises HTML dans une chaine javascript
    Par lapaupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/03/2007, 10h19

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