我正在開發一個single serving site的PHP,它只顯示訪問者發佈的消息(理想情況下圍繞網站主題)。任何人都可以每小時發佈三條消息。使用正則表達式刪除冗餘換行符
由於該網站將只有一個頁面,我想控制每個消息的垂直長度。但是,我確實希望至少部分保留原始郵件中的換行符。妥協是允許兩個換行符,但是如果有兩個以上的換行符,則用連續的總共兩個換行符替換它們。堆棧溢出實現了這一點。
例如:
「豪豬\鼻孔\ n \ n \ n \ nporcupiney」。
將改爲
「豪豬<登記/>是< BR /> < BR /> porcupiney」。
檢查換行符的一個棘手方面是它們被收集並存儲爲\ r \ n,\ r或\ n的可能性。我想過使用nl2br()將所有換行轉換爲<,但這似乎沒有必要。我的問題是:如何在PHP中使用正則表達式(函數preg_match()和preg_replace()),如何檢查一行中兩個以上換行符的實例(在它們之間是否有空格)和然後將它們改爲總共兩個換行符?
謝謝chaos!這完全符合要求。您的原始回覆也起作用。 – tevan 2009-05-03 02:26:15
原始回覆沒有達到您的「有或無空白空間」標準。 :) – chaos 2009-05-03 05:19:17
但是當只有一個換行符時,它會將其更改爲兩個?它不應該像現在這樣留下一個休息嗎? – NonCoder 2015-05-15 00:09:22