2013-11-27 6 views
0

Мне нужно вставить закрывающий «входной» элемент, который не присутствует в строке на C#.Вставить закрытый «вход» HTML-элемент

Например:

This is some content <input type="readonly" value="value1"> and 
there is further content. This is some additional <input type="readonly" 
value="value2"> text and then there is further text. 

должен быть заменен, имеющий закрывающий элемент «входной»:

This is some content <input type="readonly" value="value1"></input> and 
there is further content. This is some additional <input type="readonly" 
value="value2"></input> text and then there is further text. 

Обратите внимание, что не будет никакого содержимого между открывающим и закрывающим элементами «ввода», то просто должен быть снабжен закрывающим «входным» элементом, как только заканчивается «входной» элемент открытия.

+2

'input' не имеет закрытый тег. Это просто '' – MusicLovingIndianGirl

+0

@Aishvarya: Вам даже не нужно '/>' на элементах void. http://webdesign.about.com/od/html5tags/f/html5-use-trailing-slash.htm –

+0

Возможно наличие «ввода» с закрывающим тегом «/ input». он действительно, и это то, что я хочу, поскольку во время разбора он ожидает закрывающий тег. – user2751130

ответ

0

Вот код, я уверен, что есть более элегантный способ, но здесь это

static void AddClosingTag() 
{ 
    string input = "This is some content <input type='readonly' value='value1'> and there is further content. This is some additional <input type='readonly' value='value2'> text and then there is further text."; 

    int index = 0; 

    while (true) 
    { 
     index = input.IndexOf("<input", index); 
     if (index == -1) 
     { 
      break; 
     } 
     index = input.IndexOf(">", index); 
     input = input.Insert(index + 1, "</input>"); 
    } 

    Console.WriteLine(input); 
} 
+0

Возможно, вы могли бы использовать '.IndexOf (« Ben

+0

Спасибо, он отлично работал. – user2751130

+0

@ user2751130, поэтому, пожалуйста, отметьте как ответ –

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