gpt4 book ai didi

asp.net - 如何将所有 HTML img 关闭标签转换为 XML 兼容? ()

转载 作者:行者123 更新时间:2023-12-02 20:37:48 27 4
gpt4 key购买 nike

任务:我们正在通过 HttpWebRequest 抓取 HTML 内容(约 6,000 个调用)。该字符串经过修剪并存储在 SQL Server 2014 数据库中,以便作为 XML 进行处理。

问题:在 SQL Server 中,由于图像标记,我们会收到 XML 解析错误:“...结束标记与开始标记不匹配” 。

现在,我在 SQL Server 中有一个相当不优雅且可能有缺陷的解决方案。

示例字符串

<div someattr="aaa">
<div class="bbb">Some Text</div>
<img src="image.jpg" width="150"> <-- Notice the lack of />
</div>

期望的结果

<div someattr="aaa">
<div class="bbb">Some Text</div>
<img src="image.jpg" width="150"/> <-- Notice the />
</div>

我在 ASP.Net 中尝试了无数的正则表达式组合,但似乎弊大于利。任何指导或方向将不胜感激。

谨此,

约翰

最佳答案

我建议您使用 HTML 解析器并以比字符串更好的方式存储数据。但是,如果您想要使用正则表达式寻求快速但肮脏的解决方案,这可能会对您有所帮助:

寻找这个正则表达式:

(<img[^>]*?[^\/]\s*)(>)

并将其替换为:

$1/$2
  • [^>]*?查找除 > 之外的任何字符但尽可能少
  • [^\/]\s*确保 > 之前的最后一个字符要么不是斜杠 /或者不是斜杠后跟空格
  • 第一部分和第二部分分组在 $1 中和$2 。仅当尚无斜杠且为 img 时,它才会匹配。标签。
  • 如果有>,它将不起作用。字符作为 <img ...> 之间的字符串标签或者标签根本没有关闭 <img title="" .
<小时/>

这是一个实例:https://regex101.com/r/HIxIIR/1

关于asp.net - 如何将所有 HTML img 关闭标签转换为 XML 兼容? (<img> 到 <img/>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42471951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com