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