2010-10-05 16 views
1

Pouvez-vous me aider avec un extrait de code (avec/sans regex) pour supprimer toutes les balises span d'une chaîne comme ceci: (Silverlight - C#)Suppression des balises span de html

<a href="#"> 
    <span class="uiTooltipWrap bottom left leftbottom"> 
    <span class="uiTooltipText"> 
     dasd dssa<br /> 
     adsa sssss 
    </span> 
    </span> 
</a> 

Merci.

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –

+2

Et essayez htmlagilitypack - http: //htmlagilitypack.codeplex .com/ –

+0

Suppression de la balise [regex], car il ne faut PAS analyser le langage HTML avec des expressions régulières. Voir le lien d'Arnis. – Ether

Répondre

1

HTMLAgilityPack est pour vous.

Ceci est un analyseur HTML agile qui construit une lecture/écriture DOM et prend en charge XPATH ordinaire ou XSLT (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).

-3

En Perl, nous pourrions dire:

s/ 
    <  # tag opening character 
    \/? # optional slash 
    span 
    [^>]* # any non tag-closing characters 
    >  # tag closing character 
/
     # nothing 
/x; 

et je suis sûr que vous pouvez traduire en une expression régulière C#. C'est à dire. remplacer tout ce qui correspond </?span[^>]*> avec rien.

Questions connexes