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