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

ASP.NET Discussion :

Gestion des tag html


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut Gestion des tag html
    Bonjour

    Je souhaite vous poser deux questions:
    1) Comment puis enregistrer en base de donnée un texte contenant du code html et comment le récupérer et avoir ce code html correcte.

    2) Comment supprimer toutes les balise HTML d'un texte ?

    Merci

  2. #2
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    1) code html ou pas, cela s'enregistre de la même façon. Cela dit, suivant la version de ta base utilisée, tu peux avoir des avertissements/contraintes de sécurité. Certains caractères du code html peuvent également poser des problèmes notamment d'interprétation. Tu peux utiliser des caractères d'échappement pour y remédier.
    Un code classique (pour moi en tout cas) en SQL consiste au remplacement du caractère '<' pour éviter des problèmes de sécurité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static string EncodageHTML(string html)
      {
      html.Replace("<", "&lt;");
      }
      public static string DecodageHTML(string html)
      {
      html.Replace("&lt;", "<");
      }
    2) Pour supprimer les balises html d'un texte, tu pourrais passer par les regex. Mais le plus simple est de faire un 'replace' sur ta string comme dans le code que j'ai précédement posté.

  3. #3
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Heu, asp.net propose déjà une méthode pour l'encodage : HtmlEncode
    http://msdn.microsoft.com/en-us/libr...de(vs.71).aspx


    Et l'inverse : HtmlDecode
    http://msdn.microsoft.com/en-us/libr...de(VS.71).aspx


    Pas la peine de réinventer la roue.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  4. #4
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Citation Envoyé par The_badger_man Voir le message
    Heu, asp.net propose déjà une méthode pour l'encodage : HtmlEncode
    http://msdn.microsoft.com/en-us/libr...de(vs.71).aspx


    Et l'inverse : HtmlDecode
    http://msdn.microsoft.com/en-us/libr...de(VS.71).aspx


    Pas la peine de réinventer la roue.


    Ha ouais effectivement, depuis le framework 1.1!

    Je me disais bien que j'avais déjà vu cela quelque part...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    Ok merci mais comment puis je utiliser ce composant car j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public string TagHTML(string oldHTML)
            {
                if (oldHTML != null)
                {
                    return HttpServerUtility.HtmlDecode(oldHTML);
    Et il me met une erreur:
    An object reference is required for the non-static field, method, or property 'System.Web.HttpServerUtility.HtmlDecode(string)'

    Pour la question 2: supprimer toute les balise html possible comment puis je faire ?

    Merci

  6. #6
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    Question 1
    HttpServerUtility
    =>
    HttpUtility

    Question 2
    Pour la question 2: supprimer toute les balise html possible comment puis je faire ?
    regex. ce qui t'as déjà été donné plus haut

  7. #7
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    euh...pour l'échappement, autant utiliser htmlencode

    Edit: perdu

    et pour le regex, qq chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string output = Regex.Replace(input, @"</?(?i:script|embed|object|frameset|frame|iframe|meta|link|style)(.|\n)*?>", "");

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  8. #8
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Par défaut
    Bonjour,
    j'avais le meme probleme, et j'ai decouvert qu'avec l'API SharePoint il existait une classe qui permettait de le faire de façon impécable.
    Microsoft.SharePoint.Utilities.SPHttpUtility.ConvertSimpleHtmlToText
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Microsoft.SharePoint.Utilities.SPHttpUtility.ConvertSimpleHtmlToText()
    mais pour cela, tu dois ajouter une reference de la DLL SharePoint a ta solution.
    j'ai pas pu trouver un truc en .NET qui permettait de le faire automatiquement.

    Cordialement.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    Merci des réponse.

    Pour la question 2 : j'ai fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static string StripHtml(string html, bool allowHarmlessTags)
            {
                if (html == null || html == string.Empty)
                    return string.Empty;
     
                if (allowHarmlessTags)
                    return System.Text.RegularExpressions.Regex.Replace(html, "", string.Empty);
     
                return System.Text.RegularExpressions.Regex.Replace(html, "<[^>]*>", string.Empty);
            }
    Du site : http://www.webpronews.com/expertarti...-from-a-string

    Pour la question une effectivement je devais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public string TagHTML(string oldHTML)
            {
                if (oldHTML != null)
                {
                    return HttpUtility.HtmlDecode(oldHTML);
    Merci

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

Discussions similaires

  1. Regex pour vérifier la présence des tags HTML
    Par Benzeghiba dans le forum C#
    Réponses: 1
    Dernier message: 25/06/2008, 00h17
  2. Réponses: 2
    Dernier message: 04/04/2008, 12h15
  3. Réponses: 1
    Dernier message: 08/09/2007, 19h06
  4. [débutant] Utilisation des tags "html:link", etc.
    Par ghohm dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/05/2007, 17h58
  5. Nettoyage des attributs HEIGHT et WIDTH des tags html IMG d'une page html
    Par elitost dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 21/02/2007, 16h44

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