2016-09-19 7 views
0

je reçois le contenu de l'éditeur afin contenu inclure des balises html comme celui-ci « dddd »Html.Raw dans le contrôleur

Je dois supprimer les balises HTML du contenu parce que je vous écris ce contenu au format PDF (generate PDF en C# -Controller l'action) en utilisant itextsharp.DLL mais iTextSharp contenu avec des balises html, il ne rend pas les balises html comme vous pouvez le voir ci-dessous l'écran

enter image description here

il n'y a pas de fonction Html.Raw ou la fonction HtmlHelper.Raw en C# (l'action -contrôleur)

Que dois-je faire? J'essaie de supprimer les balises HTML avec regex mais le contenu est très complexe et il est dynamique donc il y a beaucoup de balises html

Répondre

0

Une approche serait d'utiliser un analyseur HTML comme le HTML Agility Toolpack. Je l'ai utilisé avec succès pour les problèmes que vous décrivez (mais je ne suis pas d'accord avec son développement). Sur le site:

Ceci est un analyseur HTML agile qui construit une lecture/écriture DOM et prend en charge XPATH ou XSLT ordinaire (vous ne l'avez pas fait de comprendre XPATH ni XSLT pour l'utiliser, ne vous inquiétez pas. ..). C'est une bibliothèque de code .NET qui vous permet d'analyser les fichiers HTML "hors du web". L'analyseur syntaxique est très tolérant avec le code HTML "réel" malformé. Le modèle objet est très similaire à ce que propose System.Xml, mais pour les documents HTML (ou les flux).

Vous trouverez beaucoup d'exemples en ligne pour répondre à vos besoins.

+0

Allah razı olsun :) @codenoir – user1688401

+0

Bu hiçbir sorun, arkadaşım! –

0

Vous pouvez utiliser Html.Raw et Html.Json dans le contrôleur comme celui-ci

Exemple

Si j'utiliser dans Voir

var attrilist = @Html.Raw(Json.Encode(attriFeildlist)); 

Je peux utiliser ceci en tant que remplaçant de ce code dans le contrôleur comme

var jsonencode = System.Web.Helpers.Json.Encode(attriFeildlist); 
var htmlencode= WebUtility.HtmlEncode(jsonencode);