1) ЗАМЕНИТЕ только несколько тегов html соответствующими тегами html.
Пример: замените тег h1 тегами h4 и замените тег div тегом p.
Вход:
<div><h1>First</h1><h1 align='center'>Second</h1></div><span>third</span>
Ожидаемый результат:
<p><h4>First</h4><h4 align='center'>Second</h4></p><span>third</span>
2) УДАЛИТЕ только несколько тегов HTML.
Пример: удалить теги div и h1.
Вход:
<div><h4>First</h4><h1 align='center'>Second</h1></div>
Ожидаемый результат:
<h4>First</h4>Second
К сведению: я пробовал использовать
Regex.Replace(html, @"</?h1>", "")
Но он не удаляется, если у тега есть атрибуты.
2 ответа
Вы можете использовать группы захвата в своем регулярном выражении и использовать их для замены в соответствии с документацией здесь: http : //msdn.microsoft.com/en-us/library/e7f5w83z
//to remove all h1 tags:
Regex.Replace(html, @"</?h1[^>]*>", "")
//to replace all div tags with p, keeping the same attributes:
Regex.Replace(html, @"(</?)div([^>]*>)", "$1p$2")
//to change the attributes of the div tags you will need two regexes:
//one for the opening tags
Regex.Replace(html, @"<div[^>]*>", "<p class='content'>")
//one for the closing tag
Regex.Replace(html, @"</div>", "</p>")
Последний пример был добавлен для ответа на комментарий, и причина, по которой его должно быть два, заключается в том, что новая часть строки (которая будет добавлена) отличается.
Вы пробовали регулярное выражение </?(h1|div)[^>]*>
? (Или, если вы хотите удалить только теги h1
, </?h1[^>]*>
?)
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.