使用正则表达式在html标签之间插入文本

本文关键字:标签 之间 插入文本 html 正则表达式 | 更新日期: 2023-09-27 18:10:51

我想在空段落标记之间插入&nbsp

输入:

1. <div><p></p></div>
2. <div><p style="margin: 0 0 0 0"></p></div>
预期输出:

1. <div><p>&nbsp;</p></div>
2. <div><p style="margin: 0 0 0 0">&nbsp;</p></div>

我试着使用向后看和向前看,但显然我不能在这里使用量词:(?<=< p[^>]*>)(?=<'/p>)

任何想法?我可用的工具是regex和c#

使用正则表达式在html标签之间插入文本

你可能想多了。我想你只要把></p>换成>&nbsp;</p>就行了,不是吗?

yourString = yourString.Replace("></p>", ">&nbsp;</p>");

编辑

如果你必须使用RegEx,那么你可以这样做:

yourString = Regex.Replace(yourString, "(<p[^>]*>)(</p>)", "$1&nbsp;$2", RegexOptions.IgnoreCase);

获取所有段落标记,如果为空则检查其内部文本。

如果为空,则输入getElementsByTagName('p')[0].innerHTML= '&nbsp';

(?<=>)('s*)(?=<'/p>)