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
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
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é:
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é.
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("<", "<"); } public static string DecodageHTML(string html) { html.Replace("<", "<"); }
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.
Ok merci mais comment puis je utiliser ce composant car j'ai fait:
Et il me met une erreur:
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);
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
Question 1
=>HttpServerUtility
HttpUtility
Question 2
regex. ce qui t'as déjà été donné plus hautPour la question 2: supprimer toute les balise html possible comment puis je faire ?
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)*?>", "");
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
mais pour cela, tu dois ajouter une reference de la DLL SharePoint a ta solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Microsoft.SharePoint.Utilities.SPHttpUtility.ConvertSimpleHtmlToText()
j'ai pas pu trouver un truc en .NET qui permettait de le faire automatiquement.
Cordialement.
Merci des réponse.
Pour la question 2 : j'ai fait ceci
Du site : http://www.webpronews.com/expertarti...-from-a-string
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); }
Pour la question une effectivement je devais:
Merci
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);
Partager