html - 将结束标记 append 到 HTML 中不完整的输入元素

标签 html regex vb.net input append

我有这样的代码:

<form>
    <input name="whatever">
    <input name="whatever2">
</form>

为了让 Visual Basic .NET 中的 XML 解析器能够解析它,我需要关闭每个输入标记。像这样:

<input></input>

我如何将其 append 到我拥有的 HTML 字符串中的每个输入?通过使用正则表达式?

Dim Method As New Regex("<input.*?>", RegexOptions.IgnoreCase)
For each Item as String in Method.Results("<form><input><input></form>")
    'Somehow append </input>
Next

最佳答案

您可以使用非常简单的正则表达式来修复输入。根据您希望元素的格式如何,您可以使用多种替换模式。

示例代码

Function FixInputElement(htmlMarkup As String)
    Return Regex.Replace(htmlMarkup, "(<input[^>]*)(>)", "$1/$2", RegexOptions.IgnoreCase)
End Function

替换模式

Replacement     Input              Output
$1/$2           <input id="in1">   <input id="in1"/>
$1 /$2          <input id="in2">   <input id="in2" />
$1/$2</input>   <input id="in3">   <input id="in3"></input>

添加负面回顾

如果某些输入有可能被正确关闭,您可以添加负向后视

(<input[^>]*)((?<!/)>)

后向否定的输出

Input                         Output
<input id="in1">              <input id="in1" />
<input id="in2">              <input id="in2" />
<input id="in3-dontfix" />    <input id="in3-dontfix" />

关于html - 将结束标记 append 到 HTML 中不完整的输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18304521/

相关文章:

javascript - 无法使用 Javascript 将 HTML 按钮元素的标题或值设置为 C 度符号

python - 删除不在引号内的散列注释

javascript - 使 JavaScript 辅助函数将文本与正则表达式动态匹配

regex - = 和 =~ 等同于检查简单的正则表达式吗?

javascript - FullPage.js:div 定位问题

javascript - 文件读取器 API : viewing the contents outside of a callback

javascript - 如果条形图高于混合图表 Chart.js 中的平均分数,如何更改条形图的颜色

c# - 如何使用属性调用类上的方法?

asp.net-mvc - 为什么 ValidateInput(False) 不起作用?

vb.net - 如何让 VB.net 3.5 应用程序与 USB 秤连接