C#将新行添加到HTML片段</p>中的<p>标记

时间:2013-10-08 18:56:39

标签: c# html regex replace newline

我已经这样做但感觉又脏又错。有哪些更好的选择?

private static string addNewLinesToStoryParagraphs(string story)
{
    string result = story.Replace("</p>", "</p>" + Environment.NewLine);
    result = result.Replace("</p>" + Environment.NewLine + Environment.NewLine, "</p>" + Environment.NewLine);
    return result;
}

输入字符串是序列化为字符串的HTML片段。我想确保每个<p></p>对都有一个新行。显然,如果NewLine已经存在,我不希望在每个<p></p>对之间有两行。

我简要地看了一下使用HTML Agility Pack尝试了一些东西,但是我没有看到任何保存过载或清理HTML的选项。我对这个图书馆的经验很少,但是如果有办法可以做到这一点,那我就听见了。

1 个答案:

答案 0 :(得分:0)

Regex.Replace(input,"</p>(?![\n\r]+)","</p>"+Environment.NewLine);