加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 用段落和标签替换换行符

发布时间:2020-12-15 07:49:37 所属栏目:百科 来源:网络整理
导读:所以我 know如何替换我的C#代码中的换行符.但是替换 br /的换行符标签并不总是非常正确. 所以我想知道别人使用什么样的策略?我认为正确的方法是使用 p标签和 br /标签. 以下是我想得到的结果的一些例子. 如果没有换行符,我希望将文本包裹在 p标签. This tex
所以我 know如何替换我的C#代码中的换行符.但是替换< br />的换行符标签并不总是非常正确.

所以我想知道别人使用什么样的策略?我认为正确的方法是使用< p>标签和< br />标签.

以下是我想得到的结果的一些例子.

如果没有换行符,我希望将文本包裹在< p>标签.

This text contains no newlines

<p>This text contains no newlines</p>

如果文本包含换行符,我希望将其替换为< br />标签并被包裹在< p>标签.

This text contains
1 newline

<p>This text contains<br /> 1 newline.</p>

如果有“双重换行符”,我希望该块被包装在< p>标签.

This is a text with ‘double newlines’ at the end.

This is a text with no newline at the end.

<p>This a text with 'double newlines at the end.</p>
<p>This is a text with no newline at the end.</p>

我可以写更多的例子/组合,但我想这有点清楚我的意思.

提前致谢.

解决方法

这可以通过简单的字符串替换来实现:
string result = "<p>" + text
        .Replace(Environment.NewLine + Environment.NewLine,"</p><p>")
        .Replace(Environment.NewLine,"<br />")
        .Replace("</p><p>","</p>" + Environment.NewLine + "<p>") + "</p>";

请注意,您的文本必须首先进行HTML转义,否则您可能会遇到跨站点脚本攻击的风险. (注意:即使使用< pre>标签仍然具有跨站点脚本风险).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读