【问题标题】:C# Append Newline To <p> tags in HTML fragmentC# 将换行符附加到 HTML 片段中的 <p> 标记
【发布时间】:2013-10-08 18:56:38
【问题描述】:

我已经这样做了,但感觉很肮脏和错误。有哪些更好的选择?

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 片段。我想确保每个 &lt;p&gt;&lt;/p&gt; 对都有一个新行。显然,如果 NewLine 已经存在,我不想在每个 &lt;p&gt;&lt;/p&gt; 对之间有两条线。

我简要地尝试过使用 HTML Agility Pack 进行一些尝试,但我没有看到任何保存过载或用于清理 HTML 的选项。但是我对那个库的经验很少,所以如果有办法做到这一点,我会全力以赴。

【问题讨论】:

  • Regex.Replace(input,"&lt;/p&gt;(?![\n\r]+)","&lt;/p&gt;"+Environment.NewLine);
  • @Anirudh 这是一个可以接受的答案。您能否将此作为答案,以便投票和接受?

标签: c# html regex replace newline


【解决方案1】:
Regex.Replace(input,"</p>(?![\n\r]+)","</p>"+Environment.NewLine); 

【讨论】:

    猜你喜欢
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多