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

VB.NET Discussion :

[VB.Net]Comment gérer les entités HTML dans une string ?


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 29
    Points
    29
    Par défaut [VB.Net]Comment gérer les entités HTML dans une string ?
    Bonjour,
    je code en vb.net et j'ai besoin de faire apparaitre le code "hexa" c'est a dire & dans une string je sais pas si on appelle vraiment ca du code hexa parce que j'ai vu des exemples de conversion en hexa qui ne corresponde pas a ce que je veux.

    En bref j'ai
    toto = "marc & lulu"
    et je souhaite obtenir:
    toto = "marc &# 38; lulu"
    alors c'est sans l'espace entre # et 38 mais sinon le message interprete le code
    j'ai pas arreter de chercher mais je ne trouve pas et je ne connais pas bien l'api de vb.net merci de bien vouloir m'aider
    cordialement
    emmanuel

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 78
    Points
    78
    Par défaut
    Il me semble que ca s appelle les entites de caracteres en HTML.
    Ca marche aussi pour le XML.

    Mais tu cherches quoi ? Une api qui va transformer ta String en remplacant tous les caracteres speciaux par des entites de caracteres ?

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Effectivement je ne suis pas sûr de comprendre vraiment ce que tu veux
    Est-ce que ceci répond à ton besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Const repere As String = "&"
    Private Const value As String = "#38;"
    Private Function Transform(ByVal text As String) As String
       Return text.Replace(repere,repere & value)
    End Function
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 29
    Points
    29
    Par défaut re
    oui l'artiste exactement!
    c bien les entité de caractere html que je veux recuperer

    euh neguib merci mais comme tu peu le voir ton & est interpreté je suppose qu'il doit y avoir le code &# 38; quelque part mais il est interpreté

    je regarde ta solution mais j'ai tenté de faire un replace sur ma string en choppant tous les & et en les remplacant mais il ne le fait pas

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: re
    Citation Envoyé par manu49
    oui l'artiste exactement!
    c bien les entité de caractere html que je veux recuperer

    euh neguib merci mais comme tu peu le voir ton & est interpreté je suppose qu'il doit y avoir le code &# 38; quelque part mais il est interpreté

    je regarde ta solution mais j'ai tenté de faire un replace sur ma string en choppant tous les & et en les remplacant mais il ne le fait pas
    J'ai édité mon post
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 78
    Points
    78
    Par défaut
    Personnellement je ne sais pas si il y a une API qui fait ca en .NET.

    Le plus simple, ca serait de faire un foreach sur chaque caractere de ta String et de comparer...
    Si il n y a que les & a remplacer... maintenant si tu veux remplacer toutes les occurences speciales, la ca voudrait le coup de creuser plus et chercher une API.

    Si tu fais caractere par caractere, il devrait pas couiner au remplacement.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 29
    Points
    29
    Par défaut re
    je viens d'appliquer la fonction de neguib et j'ai tenté le replace directement aussi mais ca ne fonctionne pas quand je regarde en mode debug dans visual basic 2005 la chaine meme, apres tentative de remplacement, garde le caractere & et ne le remplace pas, a croire que la fonction replace interprete aussi le code &# 38;

    je suis bloqué je ne sais pas quoi utliser
    y a pas quelqu'un pour me renseigner sur ce probleme?
    merci pour ceux qui m'ont deja repondu

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: re
    Citation Envoyé par manu49
    je viens d'appliquer la fonction de neguib et j'ai tenté le replace directement aussi mais ca ne fonctionne pas quand je regarde en mode debug dans visual basic 2005 la chaine meme, apres tentative de remplacement, garde le caractere & et ne le remplace pas, a croire que la fonction replace interprete aussi le code &# 38;

    je suis bloqué je ne sais pas quoi utliser
    y a pas quelqu'un pour me renseigner sur ce probleme?
    merci pour ceux qui m'ont deja repondu
    : je viens de tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(Me.Transform("marc & lulu"))
    et çà marche, j'obtiens exactement ce que tu veux. Tu as vu au moins ma modifiaction dans le post précédent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Const repere As String = "&" 
    Private Const value As String = "#38;" 
    Private Function Transform(ByVal text As String) As String 
       Return text.Replace(repere,repere & value) 
    End Function
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Nouvel essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub MainFormLoad(sender As Object, e As EventArgs)
     MessageBox.Show(Me.Transform("marc & lulu & truc & machin & bidule"))
    End Sub	
     
    Private Const repere As String = "&" 
    Private Const value As String = "#38;" 
    Private Function Transform(ByVal text As String) As String 
        Return text.Replace(repere,repere & value) 
    End Function
    Resultat :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 29
    Points
    29
    Par défaut re
    j'avoue que je ne comprend pas pourquoi ca ne fonctionne pas avec ma chaine que j'affiche dans un log

    bref j'ai quand meme trouvé une autre solution la voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    toto = GPNPartElement.getAttribute("description1")
    toto = System.Text.RegularExpressions.Regex.Replace(toto, "&", "&", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
    Donc les caractères & que je trouve dans la chaine toto sont remplacés par &# 38;

    merci pour vos réponses!

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

Discussions similaires

  1. [VB.Net] Comment gérer les fichiers ?
    Par JPV_MJ dans le forum VB.NET
    Réponses: 12
    Dernier message: 27/08/2006, 21h59
  2. Réponses: 9
    Dernier message: 23/08/2006, 15h12
  3. Réponses: 1
    Dernier message: 11/01/2006, 11h58
  4. Réponses: 5
    Dernier message: 27/04/2005, 16h49
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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