br4p - 雙折行改段落的 PHP 自定函式

發表於 2008-02-24 22:22:41| 分類: PHP 研究心得

這個函式是我參考了 PHP 網站上有關 nl2br() 函式的各家好手心得回饋,然後揣測嘗試出來的結果。與其他人的函式不同點在於,這個函式會將兩個折行改為 <p> 段落,但仍保留單一折行符號為 <br />,如此更便利於一般網誌上習慣利用雙折行當作段落的寫作習慣。

因為是雙折行,所以原來函式名稱有別於 br2p 稱作 br22p: two break-line to paragraph,,嫌兩個2麻煩,後來索性 2x2=4 將這個函式改名為 br4p: break-line for paragraph,也挺好記得。

這個函式可以處理 windows (\r\n), unix(\n), mac(\r) 三種折行符號,但為何需要連續處理兩次雙斷行的正規式比對,這部份仍沒有搞得很清楚。不過既然答案正確,也就懶得解了。


function br4p($str) {
return '<p>'. preg_replace('#(\r\n|\n|\r)?(\r\n|\n|\r)?#m', '', preg_replace('#(\r\n|\n|\r)?(\r\n|\n|\r)?#m', '</p>$0<p>', nl2br($str))) . '</p>';
}


訪客回應意見

  1. saa 發表於 2008-08-04 04:11:26[0.0.0.0]
    多謝站長:)
    正好在學PHP & mysql的時候看到
    獲益良多!

發表回應

名稱:
電郵:
網站:
意見:
為防止廣告留言,請回答下面簡單的數學問題:
六加六等於