我在SQL Server中有一个varchar()字段,它在段落标记之间有一些回车符/换行符.
我想把它变成格式正确的HTML.
例如:
----------之前----------
快速的棕色狐狸跳过懒狗.然后他感到无聊并上床睡觉.之后,他和他的朋友一起玩.
第二天,他和他的朋友举行了一个盛大的聚会.
---------- -----------之后
<p>快速的棕色狐狸跳过懒狗.然后他感到无聊并上床睡觉.之后,他和他的朋友一起玩.</ p>
<p>第二天,他和他的朋友举行了一个盛大的聚会.</ p>
这样做的正确方法是什么?显然正则表达式是一个很好的方法,但我无法弄清楚如何以理智的方式捕获字段的开头以及crlf(回车/换行)组合.
那里有任何正则表达式的天才?会爱一些帮助.谢谢,如果是的话
像这样的东西不需要正则表达式.普通的字符串操作可以做到.(C#中的示例):
text = "<p>" + text.Replace("\r\n", "</p><p>") + "</p>";
Run Code Online (Sandbox Code Playgroud)
(取决于换行符是否依赖于系统,您应该使用特定字符串"\r\n"或属性Environment.NewLine.)
如果字符串最初来自用户输入,因此您无法完全控制它,则必须在放入段落标记之前对其进行正确的html编码,以防止跨站点脚本攻击.