添加缺少的html标签

Cas*_*ldi 1 html c# tags string asp.net-mvc

是否可以在ASP MVC中添加缺少的html标签。这是我的意思:

String x = "<p><b>Hello world how are you</b></p>";
Run Code Online (Sandbox Code Playgroud)

将该字符串替换为前几个字符将导致:

String x = "<p>Hello world ";
Run Code Online (Sandbox Code Playgroud)

</p>缺少标签的地方,@MvcHtmlString.Create(x)循环使用会导致标签混乱,从而导致标签丢失。

ASP MVC中是否有一种方法可以自动执行此操作,还是可以使用C#函数对其进行更正?

Mou*_*Lin 5

检查要点:https : //gist.github.com/mouhong/c09487502e261f7ce53d

它将关闭缺少的结束标签(支持嵌套标签)和损坏的结束标签,并忽略损坏的开始标签。

它没有经过全面测试,如果发现任何错误,请告诉我:P

用法:

"<p>Hello".CloseTags();
Run Code Online (Sandbox Code Playgroud)

例子:

+-------------------------+--------------------------------+
|            Input        |          Output                |
+-------------------------+--------------------------------+
| <div>Hello World        | <div>Hello World</div>         |
| <div>Hello, <b>World    | <div>Hello, <b>World</b></div> |
| <div>Hello World</di    | <div>Hello World</div>         |
| <div>Hello, <b>World</  | <div>Hello, <b>World</b></div> |
| <div>Hello World. <span | <div>Hello World. </div>       |
+-------------------------+--------------------------------+
Run Code Online (Sandbox Code Playgroud)