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

前端之家收集整理的这篇文章主要介绍了c# – 用段落和标签替换换行符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我 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>标签仍然具有跨站点脚本风险).

猜你在找的C#相关文章