#c# #replace #html-agility-pack
#c# #заменить #html-agility-pack
Вопрос:
У меня есть пользователи, пытающиеся вставить подобные вещи в текстовую область
<p><span style="font-size:16px">
<span dir="RTL">در وقايع تاريخي صدر اسلام لفظ <span style="color:#008000">
<span style="font-size:22px">شيعه </span>
</span>تنها به معناي لغوي آن یعنی <span style="color:#FF0000">مناصره</span> و
<span style="color:#FF0000"> پیروی</span> و متابعه آمده است، بلكه ميبينيم كه در عهدنامه حکمیّت و واگذاري حكومت بين دو خليفه علي و معاويه </span>
<span dir="RTL">ب</span>
<span dir="RTL">كلمه شيعه بر پيروان علي اطلاق شده؛ همآنگونه که</span></span>بر پيروان معاويه نيز اطلاق شده و به پيروان علي اختصاص نيافته است.</p>
Как вы можете видеть, он имеет много вложенных промежутков. Я получаю то же самое с divs от некоторых людей. Как бы я мог удалить ВСЕ теги span и div, НО сохранить внутренний текст содержимого? Значит, я остаюсь с куском текста, заключенным в тег P?
Любая помощь с благодарностью.
Ответ №1:
Как насчет того, чтобы просто использовать регулярное выражение?
// Remove all tags
string clean = Regex.Replace(dirty, "<[^>]*>", "");
// put back the P tag
string result = "<p>" clean "</p>"