2010-10-05 2 views
1

Можете ли вы помочь мне с фрагмента кода (с/без регулярных выражений), чтобы удалить все теги пролетных из строки, как это: (Silverlight - с #)Удаление пролетных теги HTML

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

Спасибо.

+0

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

+2

И попробуйте htmlagilitypack - HTTP: //htmlagilitypack.codeplex .com/ –

+0

Удаление тега [regex], так как не следует анализировать HTML с регулярными выражениями. См. Ссылку Арниса. – Ether

ответ

1

HTMLAgilityPack для вас.

Это проворный HTML-парсер, который строит для чтения/записи DOM и поддерживает простой XPATH или XSLT (вы на самом деле не нужно понимать XPATH, ни XSLT, чтобы использовать его, не беспокойтесь ...). Это библиотека .NET-кода, которая позволяет анализировать HTML-файлы вне Интернета. Парсер очень толерантен с искаженным HTML-кодом «реального мира». Объектная модель очень похожа на то, что предлагает System.Xml, но для HTML-документов (или потоков).

-3

В Perl мы могли бы сказать:

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

и я уверен, что вы можете перевести это в регулярное выражение C#. То есть замените все, что соответствует </?span[^>]*> ни с чем.

Смежные вопросы