我正在用PHP 开发一个服务站点,它只显示访问者发布的消息(理想情况是围绕网站的主题).任何人都可以每小时发布三条消息.
由于网站只有一页,我想控制每条消息的垂直长度.但是,我确实希望至少部分保留原始邮件中的换行符.折衷方案是允许两个换行符,但如果有两个换行符,则将它们替换为一行中总共两个换行符.Stack Overflow实现了这一点.
例如:
"豪猪\n是否\n \n \n \nporcupiney."
会变成
"豪猪是<br /> <br />豪猪."
检查换行符的一个棘手方面是它们被收集并存储为\ r \n,\ r或\n的可能性.我想过使用nl2br()将所有换行符转换为<br />,但这似乎没必要.
我的问题:在PHP中使用正则表达式(使用preg_match()和preg_replace()等函数),如何检查一行中两个以上换行符的实例(它们之间是否有空格),然后将它们更改为共有两个换行符?